/* ** Make an ascii binary string into an integer. ** ** Public domain by Bob Stout */ #include unsigned int bstr_i(char *cptr) { unsigned int i, j = 0; while (cptr && *cptr && strchr("01", *cptr)) { i = *cptr++ - '0'; j <<= 1; j |= (i & 0x01); } return(j); } #ifdef TEST #include #include int main(int argc, char *argv[]) { char *arg; unsigned int x; while (--argc) { x = bstr_i(arg = *++argv); printf("Binary %s = %d = %04Xh\n", arg, x, x); } return EXIT_SUCCESS; } #endif /* TEST */