eclipse 取消自动注释:有关C语言的初级问题

来源:百度文库 编辑:高考问答 时间:2024/04/28 03:22:22
int a=0xA
printf("%d",a)

输出10

为什么这里a会变成10?读取的不应该是A的ASCII码吗?那不应该是65吗?
不能理解~请指点一下~
谢谢~
"A表示满足10进制中的10"
Sorry 还是不太明白,这是什么意思?为什么?和ASCII码有关吗?

A是代表在16进制中的10。在16进制中,用A到F代表10到15!
补充说明下:
以0x开头的数是16进制数
以数字0开头的数是8进制数

ox做前缀,表示这个数是16进制数,A表示满足10进制中的10,因此输出10.

10进制->16进制
0 -> 0
1->1
2->2
3->3
4->4
..
9->9
10->A
11->B
12->C
13->D
14->E
15->F
16->10
17->11
..
25->19
26->1A
27->1B
28->1C
29->1D
30->1E
31->1F
这就是10进制与16进制的转化
逢16进1