9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: "Jonas Amoson" <jonas.amoson@home.se>
To: <9fans@9fans.net>
Subject: [9fans]  plan 9 floating point representation
Date: Wed, 20 May 2009 03:46:57 -0700	[thread overview]
Message-ID: <0A6636567CF044608F1AEB6AEEAA4AEB@mail2world.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 2204 bytes --]

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

.



<P><p><font face="Arial, Helvetica, sans-serif" size="2" style="font-size:13.5px">_______________________________________________________________<BR><a style="font-family: Tahoma, sans-serif; font-size: 10px; color: #00f" href="http://www.eniro.se/?partnerid=spray_mail" target="_blank">Eniro Supers�k - �r vad det heter</a></font>

[-- Attachment #2: Type: text/html, Size: 2509 bytes --]

             reply	other threads:[~2009-05-20 10:46 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-05-20 10:46 Jonas Amoson [this message]
2009-05-20 12:38 ` hugo rivera
  -- strict thread matches above, loose matches on Subject: below --
2009-05-20  9:49 hugo rivera

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=0A6636567CF044608F1AEB6AEEAA4AEB@mail2world.com \
    --to=jonas.amoson@home.se \
    --cc=9fans@9fans.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).