struct        StringsBase     *StringsBase=0L;

/*#define RUN*/
#ifdef  RUN

long btol(s) register char *s; {
  register long ml=0,ll=1,el=0; register char *p=s;
  if(*p) {
   do ml++; while(*p++); p--; p--; ml--;
   do { if(*p=='1') el+=ll; p--; ll<<=1; ml--; } while (ml);
  }
  return el;
 }
#endif

long test(s) char *s; {
  long el=0; printf("%-33s %9x %ld \n",s,btol(s),btol(s)); return el;
 }

main() {
  long el=0,Zahll,l=100,il; char s[256];
  StringsBase=(struct StringsBase *)OpenLibrary("Strings.library",0);
  puts("Input: Binaer           Output:      Hex     Decimal   \n");
  el=test(""); el=test("a"); el=test("0"); el=test("1"); el=test("01");
  el=test("001"); el=test("0010"); el=test("11"); el=test("011");
  el=test("1001"); el=test("01001"); el=test("01111");
  el=test("00000000000000000000000010000001");
  el=test("00000000000000000000000011111111");
  el=test("00000000000000001111111111111111");
  el=test("11111111111111110000000000000000");
  el=test("00001111000011110000111100001111");
  el=test("11110000111100001111000011110000");
  el=test("00110000001100000011000000110000");
  el=test("11000000110000001100000011000000");
  el=test("00000011000000110000001100000011");
  el=test("11111111111111111111111111111111");
  el=test("11111111111111111111111111111110");
  el=test("01000000000000000000000000000000");
  el=test("10000000000000000000000000000000");
  el=test("11000000000000000000000000000000");
  el=test("11110000000000000000000000000000");
  el=test("00001111111111111111111111111111");
  if(StringsBase) CloseLibrary(StringsBase);
  return el;
 }                                   /* END */ /*
Input: Binaer           Output:      Hex     Decimal

                                          0 0
a                                         0 0
0                                         0 0
1                                         1 1
01                                        1 1
001                                       1 1
0010                                      2 2
11                                        3 3
011                                       3 3
1001                                      9 9
01001                                     9 9
01111                                     F 15
00000000000000000000000010000001         81 129
00000000000000000000000011111111         FF 255
00000000000000001111111111111111       FFFF 65535
11111111111111110000000000000000   FFFF0000 -65536
00001111000011110000111100001111    F0F0F0F 252645135
11110000111100001111000011110000   F0F0F0F0 -252645136
00110000001100000011000000110000   30303030 808464432
11000000110000001100000011000000   C0C0C0C0 -1061109568
00000011000000110000001100000011    3030303 50529027
11111111111111111111111111111111   FFFFFFFF -1
11111111111111111111111111111110   FFFFFFFE -2
01000000000000000000000000000000   40000000 1073741824
10000000000000000000000000000000   80000000 -2147483648
11000000000000000000000000000000   C0000000 -1073741824
11110000000000000000000000000000   F0000000 -268435456
00001111111111111111111111111111    FFFFFFF 268435455 */
