[elektro] számábrázolás
Palasik Sandor
palasik at mail.datanet.hu
Wed Nov 14 14:02:24 CET 2012
> Mi lehet az kódolás algoritmusa?
Valami lebegőpontos ábrázolás, de csak az első négy bájt érdekes.
A felsorolt példák az IEEE 32 floating pointból előállíthatóak. Venni kell
az ábrázolt számot, beszorozni néggyel és ezt átalakítani little endian 32
bites float-ba (Intel féle bájtsorrend), majd megcserélni az első és a
második bájtot, illetve a harmadik és negyedik bájtot.
Ez a program pl. előállítja az öszes példát:
#include <stdio.h>
int v;
float fv;
unsigned char *b;
int main(int argc,char **argv)
{
if (argc != 2)
return 1;
v = atoi(argv[1]);
fv = v*4.0;
b = (unsigned char *)&fv;
printf("%3d -> %02X %02X %02X %02X\n",v,b[1],b[0],b[3],b[2]);
return 0;
}
Palasik Sándor
More information about the Elektro
mailing list