home *** CD-ROM | disk | FTP | other *** search
/ Otherware / Otherware_1_SB_Development.iso / amiga / utility / misc / rawinfo.lha / conversion.c next >
Encoding:
C/C++ Source or Header  |  1992-08-09  |  761 b   |  42 lines

  1. long htol(REGISTER char *str);
  2. char *ltoh(char *string,register long val);
  3. char *ltob(char *string,register long val);
  4.  
  5. long htol(REGISTER char *str)
  6. {
  7.     REGISTER long val = 0;
  8.     REGISTER char c;
  9.     while (c = *str) {
  10.         val <<= 4;
  11.         val |= (c & 15) + (isdigit(c) ? 0 : 9);
  12.         str++;
  13.     }
  14.     return(val);
  15. }
  16.  
  17. char *ltoh(char *string,register long val)
  18. {
  19.     char hex[17] = "0123456789ABCDEF";
  20.     register long count = 9;
  21.   string = "0x00000000";
  22.     while(count>1) {
  23.         string[count] = hex[val%16];
  24.         val >>= 4;
  25.         count--;
  26.     }
  27.     return(string);
  28. }
  29.  
  30. char *ltob(char *string,register long val)
  31. {
  32.     char hex[3] = "01";
  33.     register long count = 32;
  34.   string = "%00000000000000000000000000000000";
  35.     while(count>1) {
  36.         string[count] = hex[val%2];
  37.         val >>= 1;
  38.         count--;
  39.     }
  40.     return(string);
  41. }
  42.