fork download
  1. #include <iostream>
  2.  
  3.  
  4. char* to_radix(char* s, size_t n, size_t radix){
  5. const char tpl[] = {
  6. '0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'
  7. };
  8. char* t = s;
  9.  
  10. if(radix < 2 || radix > 16){
  11. *s = '\0';
  12. return s;
  13. }
  14.  
  15. do {
  16. *s++ = tpl[n % radix];
  17. } while((n /= radix) != 0);
  18. *s-- = '\0';
  19.  
  20. char c;
  21. for(char* p = t; p < s; ++p, --s){
  22. c = *p;
  23. *p = *s;
  24. *s = c;
  25. }
  26. return t;
  27. }
  28.  
  29.  
  30. int main(void){
  31. char s[(sizeof(size_t) << 3) + 1];
  32.  
  33. std::cout << "bin\t\t" << "oct\t" << "hex" << std::endl;
  34. for(size_t i = 1; i <= 256; ++i){
  35. std::cout.fill('0');
  36. std::cout.width(8);
  37. std::cout << to_radix(s, i, 2) << "\t";
  38. std::cout << to_radix(s, i, 8) << "\t";
  39.  
  40. std::cout.fill('0');
  41. std::cout.width(2);
  42. std::cout << to_radix(s, i, 16) << std::endl;
  43. }
  44. return 0;
  45. }
  46.  
Success #stdin #stdout 0s 3096KB
stdin
Standard input is empty
stdout
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