struct StringsBase *StringsBase=0L; /*long ltob(char *dualstring,long number);*/ /*#define RUN*/ #ifdef RUN long ltob(s,l) register char *s; register long l; { long ml=31; do { *s='0'; if(l&(1<=0); *s=0; return 32; } /* ltob $V:0.3 */ #endif long test(il) long il; { long el; char s[1024]; el=ltob(s,il); printf("%12ld %8x %s %ld\n",il,il,s,strlen(s)); return el; } main() { long el=0,Zahll,l=1,il; char s[256]; StringsBase=(struct StringsBase *)OpenLibrary("Strings.library",0); puts("Input: Zahl Output binear len \n"); el=test(129); el=test(255); for(il=0;il<17;il++) el=test(il); el=test(0xffff0000); el=test(0x0f0f0f0f); el=test(0xf0f0f0f0); el=test(0x30303030); el=test(0xC0C0C0C0); el=test(0x03030303); el=test(-1); el=test(-2); el=test(1<<30); el=test(1<<31); el=test(1<<32); el=test(1<<33); el=test(1<<34); el=test(0xc0000000); el=test(0xF0000000); el=test(0x0FFFFFFF); if(StringsBase) CloseLibrary(StringsBase); return el; } /* END */ /* Input: Zahl Output binear len 129 81 00000000000000000000000010000001 32 255 FF 00000000000000000000000011111111 32 0 0 00000000000000000000000000000000 32 1 1 00000000000000000000000000000001 32 2 2 00000000000000000000000000000010 32 3 3 00000000000000000000000000000011 32 4 4 00000000000000000000000000000100 32 5 5 00000000000000000000000000000101 32 6 6 00000000000000000000000000000110 32 7 7 00000000000000000000000000000111 32 8 8 00000000000000000000000000001000 32 9 9 00000000000000000000000000001001 32 10 A 00000000000000000000000000001010 32 11 B 00000000000000000000000000001011 32 12 C 00000000000000000000000000001100 32 13 D 00000000000000000000000000001101 32 14 E 00000000000000000000000000001110 32 15 F 00000000000000000000000000001111 32 16 10 00000000000000000000000000010000 32 -65536 FFFF0000 11111111111111110000000000000000 32 252645135 F0F0F0F 00001111000011110000111100001111 32 -252645136 F0F0F0F0 11110000111100001111000011110000 32 808464432 30303030 00110000001100000011000000110000 32 -1061109568 C0C0C0C0 11000000110000001100000011000000 32 50529027 3030303 00000011000000110000001100000011 32 -1 FFFFFFFF 11111111111111111111111111111111 32 -2 FFFFFFFE 11111111111111111111111111111110 32 1073741824 40000000 01000000000000000000000000000000 32 -2147483648 80000000 10000000000000000000000000000000 32 0 0 00000000000000000000000000000000 32 0 0 00000000000000000000000000000000 32 0 0 00000000000000000000000000000000 32 -1073741824 C0000000 11000000000000000000000000000000 32 -268435456 F0000000 11110000000000000000000000000000 32 268435455 FFFFFFF 00001111111111111111111111111111 32 */