Re: enregistreurs de température |
|
Deze boodschap maakt deel uit van devolgende draad: | |
---|---|
![]() ![]() ![]() | de volledige draad-boom gesorteerd op datum |
![]() ![]() ![]() | Frédéric op ![]() |
![]() ![]() ![]() | Edgar Bonet op ![]() |
/* force byte order (endianness) by casting char -> short int */ #define num2bin_data ((short int *)num2bin_data_char) char num2bin_data_char[] = { 0x00, 0x00, /* 0 */ 0x80, 0x3F, /* 1 */ 0x00, 0x40, /* 2 */ 0x40, 0x40, /* 3 */ 0x80, 0x40, /* 4 */ 0xA0, 0x40, /* 5 */ ... 0xC4, 0x42, /* 98 */ 0xC6, 0x42, /* 99 */ 0xC8, 0x42, /* 100 */ };
short int num2bin(short int num) { if (num < -NUM2BIN_MAX || NUM2BIN_MAX < num) { printf("num2bin: cant convert number %i\n", num); return 0; }
if (num < 0) return num2bin_data[-num] | SIGN_BIT; else return num2bin_data[num]; }
short int bin2num(short int bin) { int i, is_negative;
is_negative = bin & SIGN_BIT;
if (is_negative) bin ^= SIGN_BIT; // unset sign bit
for (i = 0; i <= NUM2BIN_MAX; i++) { if (num2bin_data[i] == bin) { if (is_negative) return -i; else return i; } }
if (is_negative) printf("bin2num: cant convert data %x\n", bin | SIGN_BIT); else printf("bin2num: cant convert data %x\n", bin); return 0; }
-- Frédéric
Deze boodschap werd naar devolgende mailinglijsten gestuurd: | ||||
---|---|---|---|---|
Guilde Mailing Lijst Info | Nabije Berichten | ![]() | Re: enregistreurs de température | Re: station météo sous linux | ![]() |
Archive des listes de la GUILDE beheerd door L'administrateur | Lurker (versie 2.3) |