Dela snabbt med 2

Användarvisningsbild
4kTRB
Inlägg: 20549
Blev medlem: 16 augusti 2009, 19:04:48

Dela snabbt med 2

Inlägg av 4kTRB »

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?
Nerre
Inlägg: 27181
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: Dela snabbt med 2

Inlägg av Nerre »

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.
ds77
Inlägg: 2453
Blev medlem: 24 juli 2008, 09:38:07
Ort: småland

Re: Dela snabbt med 2

Inlägg av ds77 »

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.
Användarvisningsbild
LeCanard
Inlägg: 2432
Blev medlem: 29 april 2009, 10:18:25
Ort: Perpignan

Re: Dela snabbt med 2

Inlägg av LeCanard »

ska man dela en öl med 2 andra gäller det att vara först och ta en stooor klunk ! :D
Användarvisningsbild
4kTRB
Inlägg: 20549
Blev medlem: 16 augusti 2009, 19:04:48

Re: Dela snabbt med 2

Inlägg av 4kTRB »

Överslagsberäkning.med tillrättalagd och anpassad felmarginal, ölmarginal kanske det heter
ToPNoTCH
Inlägg: 5139
Blev medlem: 21 december 2009, 17:59:48

Re: Dela snabbt med 2

Inlägg av ToPNoTCH »

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
Användarvisningsbild
baron3d
EF Sponsor
Inlägg: 1353
Blev medlem: 1 oktober 2005, 23:58:43
Ort: Torestorp

Re: Dela snabbt med 2

Inlägg av baron3d »

Shifta talet ett steg åt höger. :rofl
Användarvisningsbild
4kTRB
Inlägg: 20549
Blev medlem: 16 augusti 2009, 19:04:48

Re: Dela snabbt med 2

Inlägg av 4kTRB »

ToPNoTCH skrev: 26 juni 2025, 21:31:49 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
Men du måste huvudräkna 588/2 och det fixar inte alla direkt.
Användarvisningsbild
MadModder
Co Admin
Inlägg: 31367
Blev medlem: 6 september 2003, 13:32:07
Ort: MadLand (Enköping)
Kontakt:

Re: Dela snabbt med 2

Inlägg av MadModder »

Hur tänkte du nu? Man behöver ju nästan inte tänka alls för att dela 588 i två. 250+44.
Användarvisningsbild
4kTRB
Inlägg: 20549
Blev medlem: 16 augusti 2009, 19:04:48

Re: Dela snabbt med 2

Inlägg av 4kTRB »

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.
E Kafeman
Inlägg: 3582
Blev medlem: 29 april 2012, 18:06:22

Re: Dela snabbt med 2

Inlägg av E Kafeman »

baron3d skrev: 26 juni 2025, 21:52:09 Shifta talet ett steg åt höger. :rofl
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.
guckrum
Inlägg: 1901
Blev medlem: 19 juni 2012, 09:04:27
Ort: Lund

Re: Dela snabbt med 2

Inlägg av guckrum »

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.
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å?
Användarvisningsbild
pi314
Inlägg: 7908
Blev medlem: 23 oktober 2021, 19:22:37
Ort: Stockholm

Re: Dela snabbt med 2

Inlägg av pi314 »

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,

Användarvisningsbild
4kTRB
Inlägg: 20549
Blev medlem: 16 augusti 2009, 19:04:48

Re: Dela snabbt med 2

Inlägg av 4kTRB »

Så exempelvis 137/2 = 1/2, 3/2 och 7/2 = 0.5+1.5+3.5 = ???
Användarvisningsbild
MadModder
Co Admin
Inlägg: 31367
Blev medlem: 6 september 2003, 13:32:07
Ort: MadLand (Enköping)
Kontakt:

Re: Dela snabbt med 2

Inlägg av MadModder »

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.
Skriv svar