🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: be.comp.programming
Article #15128

Re: simpel vraagje!!

#15128
From: Andy Georges
Date: Tue, 14 Nov 2000 00:00
71 lines
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-mail
References: <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