1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 | #include <stdio.h> #include <string.h> void IntToHex(unsigned int n, char hexDigitOutput[]) { char hexTable[] = "0123456789ABCDEF" ; int rem; int index; memset (hexDigitOutput, '0' , 8); hexDigitOutput[8] = 0; index = 7; while (n > 0) { rem = n % 16; n = n / 16; hexDigitOutput[index] = hexTable[rem]; --index; } } int BinaryToDec( char *bin) { int len; int output; int n2; len = strlen (bin); output = 0; n2 = 1; while (--len >= 0) { output += n2 * (bin[len] - '0' ); n2 <<= 1; } return output; } int main ( int argc, char *argv[]) { int i; char output[9]; char binary[33]; printf ( "Hello world!\n" ); for (i = 0; i <= 32; ++i) { IntToHex(i, output); printf ( "\nI: %d Hex: %s" , i, output); } strcpy (binary, "1101" ); printf ( "\nBinary: %s Decimal: %d" , binary, BinaryToDec(binary)); return 0; } |
Hello world! I: 0 Hex: 00000000 I: 1 Hex: 00000001 I: 2 Hex: 00000002 I: 3 Hex: 00000003 I: 4 Hex: 00000004 I: 5 Hex: 00000005 I: 6 Hex: 00000006 I: 7 Hex: 00000007 I: 8 Hex: 00000008 I: 9 Hex: 00000009 I: 10 Hex: 0000000A I: 11 Hex: 0000000B I: 12 Hex: 0000000C I: 13 Hex: 0000000D I: 14 Hex: 0000000E I: 15 Hex: 0000000F I: 16 Hex: 00000010 I: 17 Hex: 00000011 I: 18 Hex: 00000012 I: 19 Hex: 00000013 I: 20 Hex: 00000014 I: 21 Hex: 00000015 I: 22 Hex: 00000016 I: 23 Hex: 00000017 I: 24 Hex: 00000018 I: 25 Hex: 00000019 I: 26 Hex: 0000001A I: 27 Hex: 0000001B I: 28 Hex: 0000001C I: 29 Hex: 0000001D I: 30 Hex: 0000001E I: 31 Hex: 0000001F I: 32 Hex: 00000020 Binary: 1101 Decimal: 13
No comments:
Post a Comment