该地址如何(0x00000400)= 1024
-
01-10-2019 - |
题
我在C ++工作,我有一个 #define VAL 0x00000400
. 。当我设置一个等于定义的变量时:int value = val;当我通过调试器运行时,显示变量值= 1024。有人可以解释如何变成1024吗?也许有一些指向内存地址信息,#Define信息或相关内容的链接。
解决方案
0x00000400是1024的基础16。您的调试器正在向您显示基础10中的整数值。
其他提示
“ 0x400”是 十六进制, ,或底座16。0x400表示为十进制(基数10),为1024。
顺便说一句,您可以使用Google进行基础转换。搜索 “十进制为0x400” Google会给您答案。
0x00000400 IS 400碱基16,是1024基座10。
1024在十进制中= 400。
0x400
是十六进制的数字(由 0x
前缀。)这是表示小数号的另一种方式 1024
.
此外,从0x400(基数16)转换为基础10是:
4*16^2 + 0*16^1 + 0*16^0
4*16^2 + 0 + 0
4*256
1024
好吧,我还没有看过您的代码,但是400h = 1024小数点,您指定整数'int value = val'编译器只是没有显示任何通知/警告,它为您提供了铸件
不隶属于 StackOverflow