Division med två är inom matematik en operation som historiskt sett ansetts viktig. Inom programmering studeras ofta problemet separat från allmän division, på grund av att division med 2 är lätt att utföra i det binära talsystemet.
Inom binära talsystemet kan ett tal enkelt delas med två genom att göra ett bitskift åt höger. Exempelvis är talet 194 i binärt 11000010 och 194 / 2 = 97 är 01100001. Likaså är 97 / 2 = 48,5 i binärt 110000,1. I datorer representeras heltal oftast som fixtal och därför försvinner halvan när man gör ett högerskift på ett udda tal (dock sätts oftast en flagga för att markera att en bit skiftades ut). Exempelvis hade ett högerskift på talet 110001 (97) gett resultatet 110000 (48).
Mer allmänt kan man i det binära talsystem dela med en tvåpotens 2k genom att göra k högerskift. Säg att man har ett heltal a, som i binär form är anan-1 ... a1a0, dvs a kan skrivas:
Om man nu delar med 2k får man:
Vilket motsvarar k högerskift av anan-1 ... a1a0.
Ett flyttal med basen 2 kan delas med 2 genom att subtrahera 1 från exponenten.
Följande algoritm kan användas för att dela ett tal N med 2:
Exempel: Vad är 1738 / 2?
Svaret är alltså 1738 / 2 = 869.
Lokasi Pengunjung: 3.15.141.61