Article View: be.comp.programming
Article #7528Re: IEEE 754 standaard
From: Nicolas Barbier
Date: Wed, 28 Aug 2002 09:34
Date: Wed, 28 Aug 2002 09:34
45 lines
3057 bytes
3057 bytes
TRAX wrote: > een vraagje over een standaardje voor floating point voorstellingen ivm de > interne opslag in het geheugen, iedereen zal dat wel gezien hebben > indertijd zoals ik nu, de vraag is: wie weet er nog wat van en wie wil mij > helpen hoe ik een short of long ieee 754 formaat moet omzetten in decimaal > (of binair, of hexa) dat weet ik wel maar van een decimaal getal naar die > standaard omzetten is wat anders. > ik begin met het decimale getal om te zetten naar binair, dan moet ik de > meest linkse 1 zoeken > en dan? het is natuurlijk te doen om de macht van twee die verkregen wordt > als ge het getal da ge vindt bij 127 optelt. maar hoe vind ik dat getal? > is dat beginnende van de meest linkse 1 8 bits tellen en dit omzetten naar > decimaal en dat is dan het getal dat bij 127 moet worden opgeteld? vanaf > hier zit ik dus vast en in mijn nota's staat het nu ook weer nie echt goed > uitgelegd. Dit algorithme werkt enkel voor getallen waar enkel cijfers voor de komma staan (en niet bij de getallen waarbij als exponentveld 0 wordt gebruikt): - Zet string (bestaande uit ascii codes van cijfers ofzo) om naar een integer voorstelling van genoeg bits. - Zoek de meest linkse 1 (bv door herhaald schuiven naar rechts tot je nul hebt ofzo... gooi hierbij natuurlijk je oorspronkelijke getal niet weg). - Gooi die 1 weg en zet hetgeen erachter komt in je mantisse (aangevuld met 0'en). - Geef als exponent (127 + n), waarbij n het aantal bits achter die meest linkse 1 is. Voor getallen met ook cijfers achter de komma is het wat moeilijker... (moet dat ook? ;-). Hmm ik merk net dat je vraag eigenlijk gewoon was wat de exponent betekent... het is dus de exponent :-). Ze is voorgesteld in binary-offset-formaat met als bias 127. Je getal wordt berekend met: S^(-1) x 1.M x 2^(E - 127) waarbij S je sign-bit (0 positief, 1 negatief), M je mantisse-veld (1.M betekent: "1" komma "M"), E je exponent-veld. -- Nicolas Barbier MY_PROFILE: http://users.pandora.be/HATE/profiles/itsme/ HOW_TO_QUOTE: http://www.houghi.org/quote/ /* Dutch */
Technical Details
Message-ID:
<3d6c98ed$0$30457$afc38c87@sisyphus.news.be.easynet.net>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-06!sn-xit-04!supernews.com!nntp.cs.ubc.ca!skynet.be!skynet.be!feed1.news.be.easynet.net!sisyphus.news.be.easynet.net!not-for-mailReferences:
<BpZa9.91858$8o4.12443@afrodite.telenet-ops.be>Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII-7-bit X-Google-Thread: fcea4,30e8c154ed574c7c X-Google-Attributes: gidfcea4,public X-Google-ArrivalTime: 2002-08-28 02:58:17 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-06!sn-xit-04!supernews.com!nntp.cs.ubc.ca!skynet.be!skynet.be!feed1.news.be.easynet.net!sisyphus.news.be.easynet.net!not-for-mail Message-ID: <3d6c98ed$0$30457$afc38c87@sisyphus.news.be.easynet.net> From: Nicolas Barbier <reply@in.group.invalid> Subject: Re: IEEE 754 standaard Newsgroups: be.comp.programming Date: Wed, 28 Aug 2002 11:34:41 +0200 References: <BpZa9.91858$8o4.12443@afrodite.telenet-ops.be> User-Agent: KNode/0.6.1 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7Bit Lines: 45 Organization: [ posted via Easynet Belgium ] NNTP-Posting-Host: 213.193.183.21 X-Trace: 1030527213 30457 213.193.183.21 X-Complaints-To: abuse@be.easynet.net