67 int exposant,mantisse;
69 if (reel > -1.17e-38 ){
77 }
else if( reel < -3.4e+38){
87 mantisse = (frexp(-(
double)reel,&exposant) - 0.5)*1.6777216E7;
90 octet[0] = (exposant & 0xfe) >> 1 | 128;
93 if (reel < 1.17e-38 ){
102 }
else if( reel > 3.4e+38){
112 mantisse = (frexp((
double)reel,&exposant) - 0.5)*1.6777216E7;
115 octet[0] = (exposant & 0xfe) >> 1;
119 octet[1] = (exposant & 0x01) << 7 | (mantisse >> 16) & 0x7f ;
120 octet[2] = (mantisse >> 8) & 0xff ;
121 octet[3] = mantisse & 0xff ;
130 double mantisse, decalage;
133 signe = octet[0] & 0x80;
142 exposant = (octet[0] & 0x7f) << 1;
143 exposant += (octet[1] & 0x80) >> 7;
154 decalage = ldexp(1.,8);
155 mantisse = (octet[1] & 0x7f);
156 mantisse = mantisse * decalage + octet[2];
157 mantisse = mantisse * decalage + octet[3];
158 mantisse /= ldexp(1.,24);
162 *reel = (float) signe * mantisse * ldexp(1.,exposant);
171 unsigned int mantisse1, mantisse2;
177 if (reel[i] > -4.e-308 ){
188 }
else if( reel[i] < -1.e+308){
200 dmantisse = (frexp(-reel[i],&exposant) - 0.5)*9.0071992547409920E15;
203 octet[i][0] = ((exposant & 0x7ff) >> 4) | 128;
208 if (reel[i] < 4.e-308 ){
219 }
else if( reel[i] > 1.e+308){
232 dmantisse = (frexp(reel[i],&exposant) - 0.5)*9.0071992547409920E15;
235 octet[i][0] = (exposant & 0x7ff) >> 4;
242 mantisse1 = (
unsigned int) (dmantisse / 4.294967296E9);
243 mantisse2 = (
unsigned int) (dmantisse - (
double)mantisse1 * 4.294967296E9);
244 octet[i][1] = ((exposant & 0x0f) << 4) | ((mantisse1 >> 16) & 0x0f);
245 octet[i][2] = (mantisse1 >> 8) & 0xff ;
246 octet[i][3] = mantisse1 & 0xff ;
247 octet[i][4] = (mantisse2 >> 24) & 0xff ;
248 octet[i][5] = (mantisse2 >> 16) & 0xff ;
249 octet[i][6] = (mantisse2 >> 8) & 0xff ;
250 octet[i][7] = mantisse2 & 0xff ;
260 double mantisse, decalage;
264 signe = octet[i][0] & 0x80;
274 exposant = (octet[i][0] & 0x7f) << 4;
275 exposant += (octet[i][1] & 0xf0) >> 4;
288 mantisse = (octet[i][1] & 0x0f);
289 mantisse = mantisse * decalage + octet[i][2];
290 mantisse = mantisse * decalage + octet[i][3];
291 mantisse = mantisse * decalage + octet[i][4];
292 mantisse = mantisse * decalage + octet[i][5];
293 mantisse = mantisse * decalage + octet[i][6];
294 mantisse = mantisse * decalage + octet[i][7];
296 mantisse /= 9.0071992547409920E15;
300 reel[i] = signe * mantisse * ldexp(1.,exposant);