Hello Hugo, Done some experiments with the indivudual bits in Lunix, and would be very surprised if it is not handled the same under Plan 9, given the same hardware architecture. The exponent is stored in base 2, but What might be a bit confusing, is that it is not stored using two's complement, but rather using a bias. If you have an exponent of 8 bits (in a 32-bit IEEE float) an exponent of zero is represented by '10000000' or 127. Simply add the desired exponent, whether pos or neg. -1 will be 126, +1 will be 128. This link explains the whole thing in more detail: http://steve.hollasch.net/cgindex/coding/ieeefloat.html /jonas <-----Ursprungligt Meddelande-----> From: hugo rivera [uair00@gmail.com] Sent: 20/5/2009 11:50:51 AM To: 9fans@9fans.net Subject: [9fans] plan 9 floating point representation Hi, I am learning a bit about floating point representation and I am wondering about how plan 9 does this. According to IEEE 754 (I think) the convention used by C for single precision floating point numbers is to use 24 of the 32 bits available for the significand and 8 bits for the exponent. It seems to me that plan 9 follows this convention but I am still kind of puzzled about the base of the exponent. I've been experimenting (on a 386) a while and it looks like a base 4 to me, which is kind of strange, since I was expecting a base 2 or 10. I think I got something wrong, but I would appreciate if someone can explain this to me to have a better idea of how this works. It looks to me that this stuff is very machine dependent (or language?), is it? The point of all this is to classify raw data (4 byte length) according to their magnitude, I don't really care about the significant. This is just an exercise for me, since there are other easier ways to do it. Saludos -- Hugo .

_______________________________________________________________
Eniro Supers�k - �r vad det heter