#include <iostream> char* to_radix(char* s, size_t n, size_t radix){ const char tpl[] = { '0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F' }; char* t = s; if(radix < 2 || radix > 16){ *s = '\0'; return s; } do { *s++ = tpl[n % radix]; } while((n /= radix) != 0); *s-- = '\0'; char c; for(char* p = t; p < s; ++p, --s){ c = *p; *p = *s; *s = c; } return t; } int main(void){ char s[(sizeof(size_t) << 3) + 1]; std::cout << "bin\t\t" << "oct\t" << "hex" << std::endl; for(size_t i = 1; i <= 256; ++i){ std::cout.fill('0'); std::cout.width(8); std::cout << to_radix(s, i, 2) << "\t"; std::cout << to_radix(s, i, 8) << "\t"; std::cout.fill('0'); std::cout.width(2); std::cout << to_radix(s, i, 16) << std::endl; } return 0; }
Standard input is empty
bin oct hex 00000001 1 01 00000010 2 02 00000011 3 03 00000100 4 04 00000101 5 05 00000110 6 06 00000111 7 07 00001000 10 08 00001001 11 09 00001010 12 0A 00001011 13 0B 00001100 14 0C 00001101 15 0D 00001110 16 0E 00001111 17 0F 00010000 20 10 00010001 21 11 00010010 22 12 00010011 23 13 00010100 24 14 00010101 25 15 00010110 26 16 00010111 27 17 00011000 30 18 00011001 31 19 00011010 32 1A 00011011 33 1B 00011100 34 1C 00011101 35 1D 00011110 36 1E 00011111 37 1F 00100000 40 20 00100001 41 21 00100010 42 22 00100011 43 23 00100100 44 24 00100101 45 25 00100110 46 26 00100111 47 27 00101000 50 28 00101001 51 29 00101010 52 2A 00101011 53 2B 00101100 54 2C 00101101 55 2D 00101110 56 2E 00101111 57 2F 00110000 60 30 00110001 61 31 00110010 62 32 00110011 63 33 00110100 64 34 00110101 65 35 00110110 66 36 00110111 67 37 00111000 70 38 00111001 71 39 00111010 72 3A 00111011 73 3B 00111100 74 3C 00111101 75 3D 00111110 76 3E 00111111 77 3F 01000000 100 40 01000001 101 41 01000010 102 42 01000011 103 43 01000100 104 44 01000101 105 45 01000110 106 46 01000111 107 47 01001000 110 48 01001001 111 49 01001010 112 4A 01001011 113 4B 01001100 114 4C 01001101 115 4D 01001110 116 4E 01001111 117 4F 01010000 120 50 01010001 121 51 01010010 122 52 01010011 123 53 01010100 124 54 01010101 125 55 01010110 126 56 01010111 127 57 01011000 130 58 01011001 131 59 01011010 132 5A 01011011 133 5B 01011100 134 5C 01011101 135 5D 01011110 136 5E 01011111 137 5F 01100000 140 60 01100001 141 61 01100010 142 62 01100011 143 63 01100100 144 64 01100101 145 65 01100110 146 66 01100111 147 67 01101000 150 68 01101001 151 69 01101010 152 6A 01101011 153 6B 01101100 154 6C 01101101 155 6D 01101110 156 6E 01101111 157 6F 01110000 160 70 01110001 161 71 01110010 162 72 01110011 163 73 01110100 164 74 01110101 165 75 01110110 166 76 01110111 167 77 01111000 170 78 01111001 171 79 01111010 172 7A 01111011 173 7B 01111100 174 7C 01111101 175 7D 01111110 176 7E 01111111 177 7F 10000000 200 80 10000001 201 81 10000010 202 82 10000011 203 83 10000100 204 84 10000101 205 85 10000110 206 86 10000111 207 87 10001000 210 88 10001001 211 89 10001010 212 8A 10001011 213 8B 10001100 214 8C 10001101 215 8D 10001110 216 8E 10001111 217 8F 10010000 220 90 10010001 221 91 10010010 222 92 10010011 223 93 10010100 224 94 10010101 225 95 10010110 226 96 10010111 227 97 10011000 230 98 10011001 231 99 10011010 232 9A 10011011 233 9B 10011100 234 9C 10011101 235 9D 10011110 236 9E 10011111 237 9F 10100000 240 A0 10100001 241 A1 10100010 242 A2 10100011 243 A3 10100100 244 A4 10100101 245 A5 10100110 246 A6 10100111 247 A7 10101000 250 A8 10101001 251 A9 10101010 252 AA 10101011 253 AB 10101100 254 AC 10101101 255 AD 10101110 256 AE 10101111 257 AF 10110000 260 B0 10110001 261 B1 10110010 262 B2 10110011 263 B3 10110100 264 B4 10110101 265 B5 10110110 266 B6 10110111 267 B7 10111000 270 B8 10111001 271 B9 10111010 272 BA 10111011 273 BB 10111100 274 BC 10111101 275 BD 10111110 276 BE 10111111 277 BF 11000000 300 C0 11000001 301 C1 11000010 302 C2 11000011 303 C3 11000100 304 C4 11000101 305 C5 11000110 306 C6 11000111 307 C7 11001000 310 C8 11001001 311 C9 11001010 312 CA 11001011 313 CB 11001100 314 CC 11001101 315 CD 11001110 316 CE 11001111 317 CF 11010000 320 D0 11010001 321 D1 11010010 322 D2 11010011 323 D3 11010100 324 D4 11010101 325 D5 11010110 326 D6 11010111 327 D7 11011000 330 D8 11011001 331 D9 11011010 332 DA 11011011 333 DB 11011100 334 DC 11011101 335 DD 11011110 336 DE 11011111 337 DF 11100000 340 E0 11100001 341 E1 11100010 342 E2 11100011 343 E3 11100100 344 E4 11100101 345 E5 11100110 346 E6 11100111 347 E7 11101000 350 E8 11101001 351 E9 11101010 352 EA 11101011 353 EB 11101100 354 EC 11101101 355 ED 11101110 356 EE 11101111 357 EF 11110000 360 F0 11110001 361 F1 11110010 362 F2 11110011 363 F3 11110100 364 F4 11110101 365 F5 11110110 366 F6 11110111 367 F7 11111000 370 F8 11111001 371 F9 11111010 372 FA 11111011 373 FB 11111100 374 FC 11111101 375 FD 11111110 376 FE 11111111 377 FF 100000000 400 100