0x31=3×16+1=49
0x0f=0×16+15=15
0011 0001 & 0000 1111
(这两个二进制数第一行0011 0001,第二行是0000 1111) &是按位与,上下每列如果全1那这一列的结果就是1,上面按位与的结果是0000 0001 转化为十六进制就是0x01,0x只是告诉你这个是十六进制数。
十进制
我门通常用的是十进制,也就是逢十进1,也就是可以用
0,1,2,3,4,5,6,7,8,9表示个位,当到十的时候就进了一位,变成了两位10
八进制
同理,八进制是逢八进1,也就是可以用
0,1,2,3,4,5,6,7表示个位,当到八的时候变成了两位10,我们在八进制数10前面加上0,八进制数10就变成了010了,010表示8,015表示18+5=13,那么我门再看一个数046表示多少呢?表示48+6=42
十六进制
同理,十六进制是逢十六进1,也就是可以用
0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f表示个位,其中a,b,c,d,e,f分别表示十进制中的10,11,12,13,14,15,在十六进制小于十六的都是用一位来表示,当数等于16的时候就要进位了,变成了10,我们为了和十进制区别,在10前面加0x10,表示这个数是用16进制表示的,那么0x10由于是逢16进一,所以0x10表示的不是10,而是16,所以0x2a=216+a=216+10=42