Use binary CONSTANTS IN C

Source: Internet
Author: User

[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...
 

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.