Hallo,
Ik wil kijken hoe een floating point in het geheugen word opgeslagen. Dit ga ik doen doormiddel van bitwise(Is mij aangeraden).
Ik ben aan het proberen geslagen, maar ik kom er niet uit. Wel is het me al gelukt om te bekijken hoe een gewone integer word opgeslagen.
Dit het ik zo gedaan:
Maar nu wilde ik op soortgelijke manier dit doen voor een flaotingpoint getal. Maar er is niets zoals Byte/long/short voor een decimaal getal.
Hoe ga ik dit aanpakken. Zelf had ik al geopperd het zelf geheel te doen, maar dit is te veel werk voor zo'n probleem. En zeker omdat je het exponent moet gaan berekenen wanneer je een 0,xxx getal hebt. Terwijl het toch gewoon in het geheugen staat.
Hoe haal ik dus de 32bits van het IEEE standaard uit het geheugen?
Ik wil kijken hoe een floating point in het geheugen word opgeslagen. Dit ga ik doen doormiddel van bitwise(Is mij aangeraden).
Ik ben aan het proberen geslagen, maar ik kom er niet uit. Wel is het me al gelukt om te bekijken hoe een gewone integer word opgeslagen.
Dit het ik zo gedaan:
C#:
1
2
3
4
5
6
7
8
9
10
11
12
| SByte Bytes = Convert.ToSByte(this.textBox1.Text); String ReturnString = ""; for (int t = 32; t > 0; t = t / 2) { if ((Bytes & t) != 0) ReturnString = ReturnString + "1"; if ((Bytes & t) == 0) ReturnString = ReturnString + "0"; } MessageBox.Show(ReturnString); |
Maar nu wilde ik op soortgelijke manier dit doen voor een flaotingpoint getal. Maar er is niets zoals Byte/long/short voor een decimaal getal.
Hoe ga ik dit aanpakken. Zelf had ik al geopperd het zelf geheel te doen, maar dit is te veel werk voor zo'n probleem. En zeker omdat je het exponent moet gaan berekenen wanneer je een 0,xxx getal hebt. Terwijl het toch gewoon in het geheugen staat.
Hoe haal ik dus de 32bits van het IEEE standaard uit het geheugen?