Dela snabbt med 2
Dela snabbt med 2
Många plockar fram miniräknaren direkt och låter den sköta jobbet men enklare
beräkningar kräver så lite tankeverksamhet att det går bra med endast pennan.
Ibland kan det kännas jobbigt att dela med 2
Jag mäter upp en planka till 587mm och ska markera mitten...
587/2 = 250 + 40 + 3.5 = 293.5
Lätt att med en penna skriva uträkningen på plankan.
Udda tal är knepigare att dela men går bra om man delar upp det eller har något knep...
587/5 = 2*587/10 = (2*500+2*80+2*7)/10 = (1000+160+14)/10 = 1174/10 = 117.4
587/3 = (300/3+100/3+100/3)+(60/3+10/3+10/3)+(6/3+1/3) = 100+66.7+20+6.7+2+0.3 = 186.7+9 = 195.7
Någon som tänker på liknande sätt eller har enklare knep?
beräkningar kräver så lite tankeverksamhet att det går bra med endast pennan.
Ibland kan det kännas jobbigt att dela med 2
Jag mäter upp en planka till 587mm och ska markera mitten...
587/2 = 250 + 40 + 3.5 = 293.5
Lätt att med en penna skriva uträkningen på plankan.
Udda tal är knepigare att dela men går bra om man delar upp det eller har något knep...
587/5 = 2*587/10 = (2*500+2*80+2*7)/10 = (1000+160+14)/10 = 1174/10 = 117.4
587/3 = (300/3+100/3+100/3)+(60/3+10/3+10/3)+(6/3+1/3) = 100+66.7+20+6.7+2+0.3 = 186.7+9 = 195.7
Någon som tänker på liknande sätt eller har enklare knep?
Re: Dela snabbt med 2
I det första fallet hade jag nog räknat 580/2 + 7/2.
Det handlar om att dela upp i delar som man "känner igen".
587/5 hade jag nog kanske gjort 555/5 + 37/5 = 555/5 + 35/5 + 2/5 = 111 + 7 + 2/5. Och 2/5 tänker jag 20/5=4 så det blir 0,4.
Det handlar om att dela upp i delar som man "känner igen".
587/5 hade jag nog kanske gjort 555/5 + 37/5 = 555/5 + 35/5 + 2/5 = 111 + 7 + 2/5. Och 2/5 tänker jag 20/5=4 så det blir 0,4.
Re: Dela snabbt med 2
Ska jag dela en bräda i två och det inte är Super viktigt ned till 0.1mm tar jag ofta något som är i närheten av hälften, kan vara längre eller kortare. Du behöver inte heller veta längden på det du mäter med.
Jag måttar från ena hållet och markerar, sen från andra hållet.
Mitt emellan dessa markeringar har du mitten, sen går jag bara på ögonmåttet.
Inget för perfektionisten kanske men går snabbt och är ofta bra nog.
Jag måttar från ena hållet och markerar, sen från andra hållet.
Mitt emellan dessa markeringar har du mitten, sen går jag bara på ögonmåttet.
Inget för perfektionisten kanske men går snabbt och är ofta bra nog.
Re: Dela snabbt med 2
ska man dela en öl med 2 andra gäller det att vara först och ta en stooor klunk ! 

Re: Dela snabbt med 2
Överslagsberäkning.med tillrättalagd och anpassad felmarginal, ölmarginal kanske det heter
Re: Dela snabbt med 2
Jag jämnar ut talet i huvudet och drar av 0.5...Av någon anledning tycker jag det är det lättaste.
588 / 2
Och sedan -0.5
588 / 2
Och sedan -0.5
- MadModder
- Co Admin
- Inlägg: 31367
- Blev medlem: 6 september 2003, 13:32:07
- Ort: MadLand (Enköping)
- Kontakt:
Re: Dela snabbt med 2
Hur tänkte du nu? Man behöver ju nästan inte tänka alls för att dela 588 i två. 250+44.
Re: Dela snabbt med 2
Ja precis som du skriver, delar upp det i två delar. Jag menar dela 10 med 2 är ju automatiskt. Dela 588 med 2 är inte lika automatiskt. Många kan multiplikationstabellen och behöver inte trixa med siffror.
Re: Dela snabbt med 2
Binär skiftning av integern 587 ger decimala talet 293 vilket borde blivit 293,5 som flyttal.
Bitskiftar vi tillbaka från 293 blir det 586.
Om man assembler-programmerar och vill lasta processorn så lite som möjligt men ändå behålla tal-precision kan man börja med att skifta decimala talet åt vänster till 5870 (lägga till en nolla i strängen) och sedan binärskifta åt höger vilket decimalt blir 2935.
Nu är det bara att lägga till ett komma-tecken innan sista siffran.
Det går på samma sätt dividera med 3 genom itererande binär bitskiftning men ett enklare sätt kan vara att omvandla 587(10) till talbasen 3, 210202(3) och sedan högerskifta en gång vilket ger 195(10) som integer. Flyttal 195.666.. Det går även lägga till några nollor på utgångstalet för bättre precision så länge man inte skapar unsigned integers större än vad processorn hanterar.
Sådan skiftning fungerar för alla talbaser. Vill man dividera med 10 är det bekvämt då talbasen redan är decimal. 587 blir 58 efter en högerskift. Att öka precisionen till flyttal görs som ovan, börja med en vänsterskift för att sedan stoppa in decimalkommat före sista siffran men en decimal vänster-skift för att sedan följas av en decimal högerskift är meningslös så här räcker det med att direkt flytta komma-tecknet ett steg.
Samma sak gäller för andra talbaser där man vill utför enkla multiplikationer eller divisioner utan att belasta processorn för mycket. Binära flyttal kan t.ex. skiftas för enkel division eller multiplikation med 2,4,8.. genom att flytta binära komma-tecknet ett antal steg men så kan man även göra med andra talbaser.
I många fall om det är enkla siffror i matematiska operationerna som ständigt återkommer så kan man ibland tjäna på att bygga upp indexerade tabeller över nummerserier för olika talbaser. för att slippa fundera på omvandlingen mellan olika talbaser och på så sätt minska lasten i utbyte mot ökat minnesutrymme för tabeller.
Enkelt exempel där man kan tjäna på sådan matematik är om man ska beräkna färg-pixel för Mandelbrot-mämgd där man kan låta rest-värdet vid itererande division ange färgen.
Vad gäller huvudräkning av typen att dela 587 med 2 eller 3, börja med avrundning till en enda värdesiffra => 600 (587+13) för enkel matematik. 600 är enkel att dela med 2 eller 3. Resttalet 13 är även det enkelt att dela med dessa siffror utan någon större kalkyl i huvudet.
587 är prim-nummer så den saknar andra divisorer utom sej själv och ett, som inte ger en rest. Det går grov-kontrollera även det mha huvudräkning:
587 slutar på udda siffra som inte är 5.
5+8+7 är inte delbart med 3.
Det finns tal som felaktigt anges som primtal med denna kontrollen men duger som snabb-koll innan man gör ytterligare kontroll.
Ska man vara helt säker på om det är ett primtal får man även kolla så talet inte är möjligt att dividera jämnt med primtalen 7, 11, 13, 17 eller 23.
Det är bra att välja jämna siffror även här för enkel kontroll mha huvudräkning.
Det första jag noterar är att 587 kan ses som 600-13 som är enklare siffror att huvudräkna med.
Två exempel vid koll om det är primtal:
11 är en lätt siffra att kontrollera då det är enkelt att multiplicera med 11.
11x50 ger 550. Siffran 50 var den enkla siffra som först gav ett värde i närheten av 587 vid multiplikation med 11 vid snabbt överslag.
Resten, 587-550, är 37 som inte kan delas jämnt med 11.
Talet 13 som jämn divisor kollas på liknande sätt.
Om man missar i antagandet hur stor en jämn multiplikator max kan vara gör det inget. Ett enkelt val hade varit 40 då 40x13 är lätt att beräkna. 4 är två dubblingar av 13 (26, 52) och en nolla så blir det 520. 587-520 är 67 som inte kan delas med 13.
Om man istället för 40 valt 50 som enkel multiplikator så gör det inget och 50 är också en enkel siffra att multiplicera som en halvering av 13 och sedan flytta decimalkommat två ggr.
13x50=650
Vid beräkning av skillnaden 650-587 tar jag i huvudet siffrorna (13+50) = 63 som inte kan delas jämnt med 13.
Fortsätter på samma sätt med övriga siffror för att vara helt säker på att det är ett primtal.
Re: Dela snabbt med 2
Kan du omvandla till talbas 3 utan att utföra divisioner med 3? "Itererande binär bitskiftning", avser det den vanliga divisionsalgoritmen, eller vilken metod tänker du på?Det går på samma sätt dividera med 3 genom itererande binär bitskiftning men ett enklare sätt kan vara att omvandla 587(10) till talbasen 3, 210202(3) och sedan högerskifta en gång vilket ger 195(10) som integer.
Re: Dela snabbt med 2
Dela med två gör jag oftast med huvudräkning.
T.ex.
458353/2 = 229176,5
För varje siffra, från vänster till höger.
Dela med 2. Resultatet blir antingen x,0 eller x,5.
x är nästa siffra i resultatet. Eventuell ,5 läggs (som 10) till nästa siffra innan den halveras.
4/2=2, 5/2=2,5, 18/2=9, 3/2=1,5, 15/2=7,5, 13/2=6,5,
/π
T.ex.
458353/2 = 229176,5
För varje siffra, från vänster till höger.
Dela med 2. Resultatet blir antingen x,0 eller x,5.
x är nästa siffra i resultatet. Eventuell ,5 läggs (som 10) till nästa siffra innan den halveras.
4/2=2, 5/2=2,5, 18/2=9, 3/2=1,5, 15/2=7,5, 13/2=6,5,
/π
- MadModder
- Co Admin
- Inlägg: 31367
- Blev medlem: 6 september 2003, 13:32:07
- Ort: MadLand (Enköping)
- Kontakt:
Re: Dela snabbt med 2
Nej, 1/2=0,5
0,5 är bara en flagga som säger addera 10 på nästa siffra 3, så 13/2=6,5
Första siffran i svaret är då 6.
0,5 kvar betyder att det läggs på 10 till 7, så 17/2=8,5
svar 68,5.
0,5 är bara en flagga som säger addera 10 på nästa siffra 3, så 13/2=6,5
Första siffran i svaret är då 6.
0,5 kvar betyder att det läggs på 10 till 7, så 17/2=8,5
svar 68,5.