C51二进制数输入宏
在C语言中有十进制,十六进制,八进制;没有二进制的定义,在C51中使用十六进制表示有时不太直观,下面介绍几种方法表示二进制[均来自网络]
方法一
#define _BIN(a,b,c,d,e,f,g,h) ((a<<7)+(b<<6)+(c<<5)+(d<<4)+(e<<3)+(f<<2)+(g<<1)+(h<<0)) #define _bin _BIN // _bin,_BIN均可 Example: i = _bin(1,1,1,1, 0,0,0,0); // i=0xF0 i = _bin(1,0,1,0, 1,0,0,1); // i=0xA9
方法二
#define LongToBin(n) (((n>>21)&0x80)|((n>>18)&0x40)|((n>>15)&0x20)|((n>>12)&0x10)|((n>>9)&0x08)|((n>>6)&0x04)|((n>>3)&0x02)|((n)&0x01)) #define bin(n) LongToBin(0x##n##l)
在实际应用中:比如要用置P1为0x0f 可以这样写:P1=bin(00001111);//then P1=0X0f
方法三
1 /*------------binary.h----------------*/ 2 3 #define B00000000 0x00 4 #define B00000001 0x01 5 #define B00000010 0x02 6 #define B00000011 0x03 7 #define B00000100 0x04 8 #define B00000101 0x05 9 #define B00000110 0x06 10 #define B00000111 0x07 11 #define B00001000 0x08 12 #define B00001001 0x09 13 #define B00001010 0x0A 14 #define B00001011 0x0B 15 #define B00001100 0x0C 16 #define B00001101 0x0D 17 #define B00001110 0x0E 18 #define B00001111 0x0F 19 20 #define B00010000 0x10 21 #define B00010001 0x11 22 #define B00010010 0x12 23 #define B00010011 0x13 24 #define B00010100 0x14 25 #define B00010101 0x15 26 #define B00010110 0x16 27 #define B00010111 0x17 28 #define B00011000 0x18 29 #define B00011001 0x19 30 #define B00011010 0x1A 31 #define B00011011 0x1B 32 #define B00011100 0x1C 33 #define B00011101 0x1D 34 #define B00011110 0x1E 35 #define B00011111 0x1F 36 37 #define B00100000 0x20 38 #define B00100001 0x21 39 #define B00100010 0x22 40 #define B00100011 0x23 41 #define B00100100 0x24 42 #define B00100101 0x25 43 #define B00100110 0x26 44 #define B00100111 0x27 45 #define B00101000 0x28 46 #define B00101001 0x29 47 #define B00101010 0x2A 48 #define B00101011 0x2B 49 #define B00101100 0x2C 50 #define B00101101 0x2D 51 #define B00101110 0x2E 52 #define B00101111 0x2F 53 54 #define B00110000 0x30 55 #define B00110001 0x31 56 #define B00110010 0x32 57 #define B00110011 0x33 58 #define B00110100 0x34 59 #define B00110101 0x35 60 #define B00110110 0x36 61 #define B00110111 0x37 62 #define B00111000 0x38 63 #define B00111001 0x39 64 #define B00111010 0x3A 65 #define B00111011 0x3B 66 #define B00111100 0x3C 67 #define B00111101 0x3D 68 #define B00111110 0x3E 69 #define B00111111 0x3F 70 71 #define B01000000 0x40 72 #define B01000001 0x41 73 #define B01000010 0x42 74 #define B01000011 0x43 75 #define B01000100 0x44 76 #define B01000101 0x45 77 #define B01000110 0x46 78 #define B01000111 0x47 79 #define B01001000 0x48 80 #define B01001001 0x49 81 #define B01001010 0x4A 82 #define B01001011 0x4B 83 #define B01001100 0x4C 84 #define B01001101 0x4D 85 #define B01001110 0x4E 86 #define B01001111 0x4F 87 88 #define B01010000 0x50 89 #define B01010001 0x51 90 #define B01010010 0x52 91 #define B01010011 0x53 92 #define B01010100 0x54 93 #define B01010101 0x55 94 #define B01010110 0x56 95 #define B01010111 0x57 96 #define B01011000 0x58 97 #define B01011001 0x59 98 #define B01011010 0x5A 99 #define B01011011 0x5B 100 #define B01011100 0x5C 101 #define B01011101 0x5D 102 #define B01011110 0x5E 103 #define B01011111 0x5F 104 105 #define B01100000 0x60 106 #define B01100001 0x61 107 #define B01100010 0x62 108 #define B01100011 0x63 109 #define B01100100 0x64 110 #define B01100101 0x65 111 #define B01100110 0x66 112 #define B01100111 0x67 113 #define B01101000 0x68 114 #define B01101001 0x69 115 #define B01101010 0x6A 116 #define B01101011 0x6B 117 #define B01101100 0x6C 118 #define B01101101 0x6D 119 #define B01101110 0x6E 120 #define B01101111 0x6F 121 122 #define B01110000 0x70 123 #define B01110001 0x71 124 #define B01110010 0x72 125 #define B01110011 0x73 126 #define B01110100 0x74 127 #define B01110101 0x75 128 #define B01110110 0x76 129 #define B01110111 0x77 130 #define B01111000 0x78 131 #define B01111001 0x79 132 #define B01111010 0x7A 133 #define B01111011 0x7B 134 #define B01111100 0x7C 135 #define B01111101 0x7D 136 #define B01111110 0x7E 137 #define B01111111 0x7F 138 139 #define B10000000 0x80 140 #define B10000001 0x81 141 #define B10000010 0x82 142 #define B10000011 0x83 143 #define B10000100 0x84 144 #define B10000101 0x85 145 #define B10000110 0x86 146 #define B10000111 0x87 147 #define B10001000 0x88 148 #define B10001001 0x89 149 #define B10001010 0x8A 150 #define B10001011 0x8B 151 #define B10001100 0x8C 152 #define B10001101 0x8D 153 #define B10001110 0x8E 154 #define B10001111 0x8F 155 156 #define B10010000 0x90 157 #define B10010001 0x91 158 #define B10010010 0x92 159 #define B10010011 0x93 160 #define B10010100 0x94 161 #define B10010101 0x95 162 #define B10010110 0x96 163 #define B10010111 0x97 164 #define B10011000 0x98 165 #define B10011001 0x99 166 #define B10011010 0x9A 167 #define B10011011 0x9B 168 #define B10011100 0x9C 169 #define B10011101 0x9D 170 #define B10011110 0x9E 171 #define B10011111 0x9F 172 173 #define B10100000 0xA0 174 #define B10100001 0xA1 175 #define B10100010 0xA2 176 #define B10100011 0xA3 177 #define B10100100 0xA4 178 #define B10100101 0xA5 179 #define B10100110 0xA6 180 #define B10100111 0xA7 181 #define B10101000 0xA8 182 #define B10101001 0xA9 183 #define B10101010 0xAA 184 #define B10101011 0xAB 185 #define B10101100 0xAC 186 #define B10101101 0xAD 187 #define B10101110 0xAE 188 #define B10101111 0xAF 189 190 #define B10110000 0xB0 191 #define B10110001 0xB1 192 #define B10110010 0xB2 193 #define B10110011 0xB3 194 #define B10110100 0xB4 195 #define B10110101 0xB5 196 #define B10110110 0xB6 197 #define B10110111 0xB7 198 #define B10111000 0xB8 199 #define B10111001 0xB9 200 #define B10111010 0xBA 201 #define B10111011 0xBB 202 #define B10111100 0xBC 203 #define B10111101 0xBD 204 #define B10111110 0xBE 205 #define B10111111 0xBF 206 207 #define B11000000 0xC0 208 #define B11000001 0xC1 209 #define B11000010 0xC2 210 #define B11000011 0xC3 211 #define B11000100 0xC4 212 #define B11000101 0xC5 213 #define B11000110 0xC6 214 #define B11000111 0xC7 215 #define B11001000 0xC8 216 #define B11001001 0xC9 217 #define B11001010 0xCA 218 #define B11001011 0xCB 219 #define B11001100 0xCC 220 #define B11001101 0xCD 221 #define B11001110 0xCE 222 #define B11001111 0xCF 223 224 #define B11010000 0xD0 225 #define B11010001 0xD1 226 #define B11010010 0xD2 227 #define B11010011 0xD3 228 #define B11010100 0xD4 229 #define B11010101 0xD5 230 #define B11010110 0xD6 231 #define B11010111 0xD7 232 #define B11011000 0xD8 233 #define B11011001 0xD9 234 #define B11011010 0xDA 235 #define B11011011 0xDB 236 #define B11011100 0xDC 237 #define B11011101 0xDD 238 #define B11011110 0xDE 239 #define B11011111 0xDF 240 241 #define B11100000 0xE0 242 #define B11100001 0xE1 243 #define B11100010 0xE2 244 #define B11100011 0xE3 245 #define B11100100 0xE4 246 #define B11100101 0xE5 247 #define B11100110 0xE6 248 #define B11100111 0xE7 249 #define B11101000 0xE8 250 #define B11101001 0xE9 251 #define B11101010 0xEA 252 #define B11101011 0xEB 253 #define B11101100 0xEC 254 #define B11101101 0xED 255 #define B11101110 0xEE 256 #define B11101111 0xEF 257 258 #define B11110000 0xF0 259 #define B11110001 0xF1 260 #define B11110010 0xF2 261 #define B11110011 0xF3 262 #define B11110100 0xF4 263 #define B11110101 0xF5 264 #define B11110110 0xF6 265 #define B11110111 0xF7 266 #define B11111000 0xF8 267 #define B11111001 0xF9 268 #define B11111010 0xFA 269 #define B11111011 0xFB 270 #define B11111100 0xFC 271 #define B11111101 0xFD 272 #define B11111110 0xFE 273 #define B11111111 0xFF 274 275 /*----End----*/

浙公网安备 33010602011771号