Flyttal ● Alla tal kan skrivas tal = ± m. 2 exp ● ± lagras separat (1 bit), resten är absolutbelopp ● m kallas mantissa och anger siffrorna i talet ● exp kallas exponent – är en skalfaktor – anger om talets belopp är stort = långt bort från 0:an... –...eller litet = nära 0:an på tallinjen
Talet 5,5 ● Binärt blir 5,5 tio = 101,1 två ● Det kan skrivas +101,1 två ∙ 2 0 ● Talet normaliseras före lagring – så att m är mellan 1 och 2 – dvs m ska binärt börja på 1, ● Ändra m från 101,1 två till 1,011 två ● Då måste exp samtidigt ändras från 0 till 2 – annars är det ju inte samma tal längre Exempel 1
IEEE754-format ● tal = 5,5 tio = +1,011 två ∙ 2 2 ● IEEE754: ● Talet är positivt – teckenbiten ska vara 0 ● exponent = 2, lagras som – lägg till 127 ( ) till vanliga binärkoden ● mantissan = 1,011 – men 1, lagras inte – mantissan lagras som (totalt 23 bitar) ± exponent mantissa utom 1, Exempel 1
Jämförelse av flyttal ● (+ 5,5) ● (- 5,5) ● (+25,25) ● (+0,5) ● Utan excesskod skulle exp = 2 bli ● Utan excesskod skulle exp = -1 bli
–25,25 ● tal = –25,25 tio = –11001,01 två ∙ 2 0 ● Normalisera ● tal = –1, två ∙ 2 4 ● teckenbit = 1 för negativt tal ● exponent = 4, lagras som ● mantissan = 1, men 1, lagras inte – mantissan lagras som (23 bitar totalt) Exempel 2
–25,25 Exempel 2 Svar: = = C1CA 0000 HEX