C语言中16进制数0x10和0xa的区别是什么?

2024-11-05 22:48:05
推荐回答(1个)
回答(1):

我门通常用的是十进制,也就是逢十进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表示1*8+5=13,那么我门再看一个数046表示多少呢?表示4*8+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=2*16+a=2*16+10=42