Lak*_*hmi 5 c++
当一个整数初始化为int a = 010,a实际上设置为8,但是,for int a = 10,a设置为10.任何人都可以告诉我为什么a不设置为10 int a = 010?
int a = 010
a
int a = 10
Cod*_*ray 10
因为它010以八进制格式解释为数字.在base-8系统中,数字10等于8base-10(我们的标准计数系统)中的数字.
010
10
8
更一般地说,在C++世界中,为整数文字加前缀0指定一个八进制文字,因此编译器的行为完全符合预期.
0
Pau*_*l R 7
在C和C++,Objective C和相关语言中,0前缀表示八进制文字常量,因此010= 8十进制.
C
C++
Objective C
inq*_*uam 7
数字前的0表示它是八进制表示法.因此,由于八进制使用8的基数,010将等于8.
以相同的方式,0x用于使用16的基数的十六进制表示法.所以0x10在十进制中 等于16.
Zul*_*jin 6
010中的前导0表示该数字为八进制形式.所以010表示十进制的8.
归档时间:
14 年,11 月 前
查看次数:
1323 次
最近记录:
7 年,9 月 前