Article View: be.comp.programming
Article #15128Re: simpel vraagje!!
From: Andy Georges
Date: Tue, 14 Nov 2000 00:00
Date: Tue, 14 Nov 2000 00:00
71 lines
2353 bytes
2353 bytes
Hello,
> hallo ik heb hier een examenvraagje waar ik niet zo goed in ben.
> stel het decimale getal
324,875
> voor in floating point notatie
dat is 1^s * 2^(e-127) * 1.f waarbij in enkelvoudige precisie e 8 bits
heeft en f 23 bits heeft. s is de tekenbit.
je moet hier de twee delen in je getal 324.875 afzonderlijk beschouwen.
Je schrijft het getal als:
X ++ Y (concatentatie)
waarbij X de decimale voorstelling is van het deel voor de decimale punt
en Y het deel erachter: dus
X == (1 0100 0100)_2
Y == (111)_2 = (1/2 + 1/4 + 1/8)_10
om nu de mantisse te vinden heb je 1 . 0100 0100 1110 0000...
de eerste 1 laat je vallen, die staat er zogezegd altijd, dus moeten we
ze niet onthouden. om de decimale punt voor de 111 te krijgen moet je
dan verminigvuldigen met 2^8 zodat de exponent 127+8 = (135)_10 = (1000
0111)_2 en het teken is + => s == 0
dit geeft:
(0100 0011 1010 0010 0111 0000 0000 0000)_2 oftwel 43 A2 70 00
> stel het decimale getal -0,0589 voor in floating point notatie
oefening voor de lezer ;-)
Het volgende programmaatje toont je of je juist bent:
#include <stdio.h>
void main(void) {
float a = 324.875;
printf("sizeof(int) = %d\n",sizeof(int));
printf("sizeof(float) = %d\n",sizeof(float));
/* de size moet gelijk zijn */
printf("%f\n",a);
printf("%#X\n",*((int*) (&a)) );
}
resultaat:
sizeof(int) = 4
sizeof(float) = 4
324.875000
0X43A27000
--
==========================================================================
Dept. of Applied Mathematics and Computer Science, University of Ghent
Krijgslaan 281 - S9, B - 9000 Ghent, Belgium
Phone: +32-9-264.47.66, Fax: +32-9-264.49.95
E-mail: andy.georges@rug.ac.be
==========================================================================
Technical Details
Message-ID:
<3A10FDA6.811CD938@nospam.rug.ac.be>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailReferences:
<8ukf1m$nb9$1@news0.skynet.be>Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII-7-bit X-Google-Thread: fcea4,8a3b2b18db2e1f40 X-Google-Attributes: gidfcea4,public From: Andy Georges <andy.georges@nospam.rug.ac.be> Subject: Re: simpel vraagje!! Date: 2000/11/14 Message-ID: <3A10FDA6.811CD938@nospam.rug.ac.be> X-Deja-AN: 693404157 Content-Transfer-Encoding: 7bit References: <8ukf1m$nb9$1@news0.skynet.be> X-Accept-Language: en Content-Type: text/plain; charset=us-ascii Organization: University of Ghent, Belgium Mime-Version: 1.0 Newsgroups: be.comp.programming