基数与权
基数是计数值制所用到的数字符号的个数,在基数为R的计数制中包含0 1 2…R-1,共R个数字符号。进位规律是逢R进一,称为R进制位权是指在一种进位计数制表示的数中,用来表示不同数位上数值的大小的一个固定常数,不同的数位有不同的位权,某一个数位的数值等于这一位的数字符号乘上该数的位权。例如:123 = 1 * 102 + 2 * 101+ 3 * 100
二进制:0,1;
八进制:0,1,2,3,4,5,6,7;
十六进制:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F;
char a = 'a';
printf("%c\t%d\t%#o\t%#x\n",a,a,a);
注:上面代码打印出来分别为ASCII码的字符型,十进制,八进制和十六进制。
加#与不加#的区别在于打印出来的数有没有开头区别。
十进制 | 八进制 | 十六进制 |
---|---|---|
0 | 0 | 0 |
1 | 01 | 0x1 |
2 | 02 | 0x2 |
3 | 03 | 0x3 |
… | … | … |
7 | 07 | 0x7 |
8 | 010 | 0x8 |
9 | 011 | 0x9 |
10 | 012 | 0xa |
11 | 013 | 0xb |
12 | 014 | 0xc |
13 | 015 | 0xd |
14 | 016 | 0xe |
15 | 017 | 0xf |
16 | 020 | 0x10 |
17 | 021 | 0x11 |
18 | 022 | 0x12 |
C语言不能直接表示二进制常量。八进制数字以0开头,十六进制数字以0x或0X开头。