Liukuluvut
Desimaaliluvun desimaaliosan muutos binäärikseksi Olkoon meillä luku 0.110 = .1*2 = 0.2 (pienempi kuin yksi → 0) .2*2 = 0.4 (pienempi kuin yksi → 0) .4*2 = 0.8 (pienempi kuin yksi → 0) .8*2 = 1.6 (suurempi kuin yksi → 1) .6*2 = 1.2 (suurempi kuin yksi → 1) … = (0.00011001100110011001100110011001100110011…)2
Liukuluvut (floating point numbers) Float (Java, C#, etc.) 32-bittinen Double (64-bittinen) 0.110 = (0.00011001100110011001100110011001100110011…)2 = (1.1001100110011001100110011001100110011…*10-4) 2 = (00111101 11001100 11001100 11001101) binäärinen float http://www.binaryconvert.com/
Desimaaliluvun desimaaliosan muutos binäärikseksi Olkoon meillä luku 0.1562510 = .15625*2 = 0.3125 (pienempi kuin yksi → 0) .3125*2 = 0.625 (pienempi kuin yksi → 0) .625*2 = 1.25 (suurempi kuin yksi → 1) .25*2 = 0.5 (pienempi kuin yksi → 0) .5*2 = 1 (yhtä suuri kuin yksi → 1 ) = 0.001012 Mantissan normalisointi = 1.012 * 10-3 Eksponentti lisätään lukuun 127 (127 + -3 = 124) ja saadaan float tallennetun binääriluvun exponenttiosa, eli (00111110 00100000 00000000 00000000) binäärinen float