[Cpp]
# Include <stdio. h>
# Include <stdlib. h>
# Include <string. h>
# Define B00000000
# Define B00000001 01
# Define B00000010 02
# Define B00000011 03
# Define B00000100 04
# Define B00000101 05
# Define B00000110 06
# Define B00000111 07
# Define B00001000 08
# Define B00001001 09
# Define B00001010 0A
# Define B00001011 0B
# Define B00001100 0C
# Define B00001101 0D
# Define B00001110 0E
# Define B00001111 0F
# Define B00010000 10
# Define B00010001 11
# Define B00010010 12
# Define B00010011 13
# Define B00010100 14
# Define B00010101 15
# Define B00010110 16
# Define B00010111 17
# Define B00011000 18
# Define B00011001 19
# Define B00011010 1A
# Define B00011011 1B
# Define B00011100 1C
# Define B00011101 1D
# Define B00011110 1E
# Define B00011111 1F
# Define B00100000 20
# Define B00100001 21
# Define B00100010 22
# Define B00100011 23
# Define B00100100 24
# Define B00100101 25
# Define B00100110 26
# Define B00100111 27
# Define B00101000 28
# Define B00101001 29
# Define B00101010 2A
# Define B00101011 2B
# Define B00101100 2C
# Define B00101101 2D
# Define B00101110 2E
# Define B00101111 2F
# Define B00110000 30
# Define B00110001 31
# Define B00110010 32
# Define B00110011 33
# Define B00110100 34
# Define B00110101 35
# Define B00110110 36
# Define B00110111 37
# Define B00111000 38
# Define B00111001 39
# Define B00111010 3A
# Define B00111011 3B
# Define B00111100 3C
# Define B00111101 3D
# Define B00111110 3E
# Define B00111111 3F
# Define b0000000 40
# Define b0000001 41
# Define b038510 42
# Define b038511 43
# Define B01000100 44
# Define B01000101 45
# Define B01000110 46
# Define B01000111 47
# Define B01001000 48
# Define B01001001 49
# Define B01001010 4A
# Define B01001011 4B
# Define B01001100 4C
# Define B01001101 4D
# Define B01001110 4E
# Define B01001111 4F
# Define B01010000 50
# Define B01010001 51
# Define B01010010 52
# Define B01010011 53
# Define B01010100 54
# Define B01010101 55
# Define B01010110 56
# Define B01010111 57
# Define B01011000 58
# Define B01011001 59
# Define B01011010 5A
# Define B01011011 5B
# Define B01011100 5C
# Define B01011101 5D
# Define B01011110 5E
# Define B01011111 5F
# Define B01100000 60
# Define B01100001 61
# Define B01100010 62
# Define B01100011 63
# Define B01100100 64
# Define B01100101 65
# Define B01100110 66
# Define B01100111 67
# Define B01101000 68
# Define B01101001 69
# Define B01101010 6A
# Define B01101011 6B
# Define B01101100 6C
# Define B01101101 6D
# Define B01101110 6E
# Define B01101111 6F
# Define B01110000 70
# Define B01110001 71
# Define B01110010 72
# Define B01110011 73
# Define B01110100 74
# Define B01110101 75
# Define B01110110 76
# Define B01110111 77
# Define B01111000 78
# Define B01111001 79
# Define B01111010 7A
# Define B01111011 7B
# Define B01111100 7C
# Define B01111101 7D
# Define B01111110 7E
# Define b011111 7F
# Define b0000000 80
# Define b0000001 81
# Define B10000010 82
# Define B10000011 83
# Define b0000100 84
# Define b0000101 85
# Define b0000110 86
# Define b0000111 87
# Define B10001000 88
# Define B10001001 89
# Define B10001010 8A
# Define B10001011 8B
# Define B10001100 8C
# Define B10001101 8D
# Define B10001110 8E
# Define B10001111 8F
# Define B10010000 90
# Define B10010001 91
# Define B10010010 92
# Define B10010011 93
# Define B10010100 94
# Define B10010101 95
# Define B10010110 96
# Define B10010111 97
# Define B10011000 98
# Define B10011001 99
# Define B10011010 9A
# Define B10011011 9B
# Define B10011100 9C
# Define B10011101 9D
# Define B10011110 9E
# Define B10011111 9F
# Define B10100000 A0
# Define B10100001 A1
# Define B10100010 A2
# Define B10100011 A3
# Define B10100100 A4
# Define B10100101 A5
# Define B10100110 A6
# Define B10100111 A7
# Define B10101000 A8
# Define B10101001 A9
# Define B10101010 AA
# Define B10101011 AB
# Define B10101100 AC
# Define B10101101 AD
# Define B10101110 AE
# Define B10101111 AF
# Define B10110000 B0
# Define B10110001 B1
# Define B10110010 B2
# Define B10110011 B3
# Define B10110100 B4
# Define B10110101 B5
# Define B10110110 B6
# Define B10110111 B7
# Define B10111000 B8
# Define B10111001 B9
# Define B10111010 BA
# Define B10111011 BB
# Define B10111100 BC
# Define B10111101 BD
# Define B10111110 BE
# Define B10111111 BF
# Define B11000000 C0
# Define b111_01 C1
# Define b111_10 C2
# Define b1110811 C3
# Define B11000100 C4
# Define B11000101 C5
# Define B11000110 C6
# Define B11000111 C7
# Define B11001000 C8
# Define B11001001 C9
# Define B11001010 CA
# Define B11001011 CB
# Define B11001100 CC
# Define B11001101 CD
# Define B11001110 CE
# Define B11001111 CF
# Define B11010000 D0
# Define B11010001 D1
# Define B11010010 D2
# Define B11010011 D3
# Define B11010100 D4
# Define B11010101 D5
# Define B11010110 D6
# Define B11010111 D7
# Define B11011000 D8
# Define B11011001 D9
# Define B11011010 DA
# Define B11011011 DB
# Define B11011100 DC
# Define B11011101 DD
# Define B11011110 DE
# Define B11011111 DF
# Define B11100000 E0
# Define B11100001 E1
# Define B11100010 E2
# Define B11100011 E3
# Define B11100100 E4
# Define B11100101 E5
# Define B11100110 E6
# Define B11100111 E7
# Define B11101000 E8
# Define B11101001 E9
# Define B11101010 EA
# Define B11101011 EB
# Define B11101100 EC
# Define B11101101 ED
# Define B11101110 EE
# Define B11101111 EF
# Define B11110000 F0
# Define B11110001 F1
# Define B11110010 F2
# Define B11110011 F3
# Define B11110100 F4
# Define B11110101 F5
# Define B11110110 F6
# Define B11110111 F7
# Define B11111000 F8
# Define B11111001 F9
# Define B11111010 FA
# Define B11111011 FB
# Define B11111100 FC
# Define B11111101 FD
# Define B11111110 FE
# Define B11111111 FF
# Define _ B8 (B0) 0x # B0
# Define _ F8 (B1, B0) 0x # B1 # B0
# Define _ B32 (B3, B2, B1, B0) 0x ## B3 ## B2 ## B1 ## B0
# Define B8 (B0) _ B8 (B0)
# Define blob (B1, B0) _ F8 (B1, B0)
# Define B32 (B3, B2, B1, B0) _ B32 (B3, B2, B1, B0)
Const char * bin (unsigned int value, int width)
{
Static char binstr [33];
Int pos;
If (width <0 | width> 32) return NULL;
Binstr [width] = 0;
For (pos = width-1; pos> = 0; pos --)
{
Binstr [pos] = (value & 0x01 )? '1': '0 ';
Value >>> = 1;
}
Return binstr;
}
Int main ()
{
Int value8 = B8 (B10011001 );
Int value16 = F8 (B10011001, B10101010 );
Int value32 = B32 (B10011001, B10101010, B10111011, B11001100 );
Int I;
Printf ("0x % 08X, 0b % s \ n", value8, bin (value8, 8 ));
Printf ("0x % 08X, 0b % s \ n", value16, bin (value16, 16 ));
Printf ("0x % 08X, 0b % s \ n", value32, bin (value32, 32 ));
For (I = 0; I <256; I ++)
{
Printf ("# define B % s % 02X \ n", bin (I, 8), I );
}
System ("PAUSE ");
Return 0;
}
[Cpp]
The program output is as follows:
0x00000099, 0b10011001
0x000099AA, 0b1001100110101010
0x99AABBCC, 0b10011001101010101110111111001100
# Define B00000000
# Define B00000001 01
# Define B00000010 02
# Define B00000011 03
# Define B00000100 04
# Define B00000101 05
# Define B00000110 06
# Define B00000111 07
# Define B00001000 08
# Define B00001001 09
# Define B00001010 0A
# Define B00001011 0B
# Define B00001100 0C
# Define B00001101 0D
# Define B00001110 0E
# Define B00001111 0F
# Define B00010000 10
# Define B00010001 11
# Define B00010010 12
# Define B00010011 13
# Define B00010100 14
# Define B00010101 15
# Define B00010110 16
# Define B00010111 17
# Define B00011000 18
# Define B00011001 19
# Define B00011010 1A
# Define B00011011 1B
# Define B00011100 1C
# Define B00011101 1D
# Define B00011110 1E
# Define B00011111 1F
# Define B00100000 20
# Define B00100001 21
# Define B00100010 22
# Define B00100011 23
# Define B00100100 24
# Define B00100101 25
# Define B00100110 26
# Define B00100111 27
# Define B00101000 28
# Define B00101001 29
# Define B00101010 2A
# Define B00101011 2B
# Define B00101100 2C
# Define B00101101 2D
# Define B00101110 2E
# Define B00101111 2F
# Define B00110000 30
# Define B00110001 31
# Define B00110010 32
# Define B00110011 33
# Define B00110100 34
# Define B00110101 35
# Define B00110110 36
# Define B00110111 37
# Define B00111000 38
# Define B00111001 39
# Define B00111010 3A
# Define B00111011 3B
# Define B00111100 3C
# Define B00111101 3D
# Define B00111110 3E
# Define B00111111 3F
# Define b0000000 40
# Define b0000001 41
# Define b038510 42
# Define b038511 43
# Define B01000100 44
# Define B01000101 45
# Define B01000110 46
# Define B01000111 47
# Define B01001000 48
# Define B01001001 49
# Define B01001010 4A
# Define B01001011 4B
# Define B01001100 4C
# Define B01001101 4D
# Define B01001110 4E
# Define B01001111 4F
# Define B01010000 50
# Define B01010001 51
# Define B01010010 52
# Define B01010011 53
# Define B01010100 54
# Define B01010101 55
# Define B01010110 56
# Define B01010111 57
# Define B01011000 58
# Define B01011001 59
# Define B01011010 5A
# Define B01011011 5B
# Define B01011100 5C
# Define B01011101 5D
# Define B01011110 5E
# Define B01011111 5F
# Define B01100000 60
# Define B01100001 61
# Define B01100010 62
# Define B01100011 63
# Define B01100100 64
# Define B01100101 65
# Define B01100110 66
# Define B01100111 67
# Define B01101000 68
# Define B01101001 69
# Define B01101010 6A
# Define B01101011 6B
# Define B01101100 6C
# Define B01101101 6D
# Define B01101110 6E
# Define B01101111 6F
# Define B01110000 70
# Define B01110001 71
# Define B01110010 72
# Define B01110011 73
# Define B01110100 74
# Define B01110101 75
# Define B01110110 76
# Define B01110111 77
# Define B01111000 78
# Define B01111001 79
# Define B01111010 7A
# Define B01111011 7B
# Define B01111100 7C
# Define B01111101 7D
# Define B01111110 7E
# Define b011111 7F
# Define b0000000 80
# Define b0000001 81
# Define B10000010 82
# Define B10000011 83
# Define b0000100 84
# Define b0000101 85
# Define b0000110 86
# Define b0000111 87
# Define B10001000 88
# Define B10001001 89
# Define B10001010 8A
# Define B10001011 8B
# Define B10001100 8C
# Define B10001101 8D
# Define B10001110 8E
# Define B10001111 8F
# Define B10010000 90
# Define B10010001 91
# Define B10010010 92
# Define B10010011 93
# Define B10010100 94
# Define B10010101 95
# Define B10010110 96
# Define B10010111 97
# Define B10011000 98
# Define B10011001 99
# Define B10011010 9A
# Define B10011011 9B
# Define B10011100 9C
# Define B10011101 9D
# Define B10011110 9E
# Define B10011111 9F
# Define B10100000 A0
# Define B10100001 A1
# Define B10100010 A2
# Define B10100011 A3
# Define B10100100 A4
# Define B10100101 A5
# Define B10100110 A6
# Define B10100111 A7
# Define B10101000 A8
# Define B10101001 A9
# Define B10101010 AA
# Define B10101011 AB
# Define B10101100 AC
# Define B10101101 AD
# Define B10101110 AE
# Define B10101111 AF
# Define B10110000 B0
# Define B10110001 B1
# Define B10110010 B2
# Define B10110011 B3
# Define B10110100 B4
# Define B10110101 B5
# Define B10110110 B6
# Define B10110111 B7
# Define B10111000 B8
# Define B10111001 B9
# Define B10111010 BA
# Define B10111011 BB
# Define B10111100 BC
# Define B10111101 BD
# Define B10111110 BE
# Define B10111111 BF
# Define B11000000 C0
# Define b111_01 C1
# Define b111_10 C2
# Define b1110811 C3
# Define B11000100 C4
# Define B11000101 C5
# Define B11000110 C6
# Define B11000111 C7
# Define B11001000 C8
# Define B11001001 C9
# Define B11001010 CA
# Define B11001011 CB
# Define B11001100 CC
# Define B11001101 CD
# Define B11001110 CE
# Define B11001111 CF
# Define B11010000 D0
# Define B11010001 D1
# Define B11010010 D2
# Define B11010011 D3
# Define B11010100 D4
# Define B11010101 D5
# Define B11010110 D6
# Define B11010111 D7
# Define B11011000 D8
# Define B11011001 D9
# Define B11011010 DA
# Define B11011011 DB
# Define B11011100 DC
# Define B11011101 DD
# Define B11011110 DE
# Define B11011111 DF
# Define B11100000 E0
# Define B11100001 E1
# Define B11100010 E2
# Define B11100011 E3
# Define B11100100 E4
# Define B11100101 E5
# Define B11100110 E6
# Define B11100111 E7
# Define B11101000 E8
# Define B11101001 E9
# Define B11101010 EA
# Define B11101011 EB
# Define B11101100 EC
# Define B11101101 ED
# Define B11101110 EE
# Define B11101111 EF
# Define B11110000 F0
# Define B11110001 F1
# Define B11110010 F2
# Define B11110011 F3
# Define B11110100 F4
# Define B11110101 F5
# Define B11110110 F6
# Define B11110111 F7
# Define B11111000 F8
# Define B11111001 F9
# Define B11111010 FA
# Define B11111011 FB
# Define B11111100 FC
# Define B11111101 FD
# Define B11111110 FE
# Define B11111111 FF
Press any key to continue...