这个地址(0x00000400) = 1024怎么办
我使用 C++ 工作,并且有一个 #define VAL 0x00000400
。当我设置一个等于定义的变量时: int value = VAL;当我运行调试器时显示变量值 = 1024。有人可以解释它如何变成 1024 吗?也许有一些指向内存地址信息、#define 信息或相关内容的链接。
Im working in C++ and I have a #define VAL 0x00000400
. when I set a variable equal to the define: int value = VAL; when I run through the debugger is shows the variable value = 1024. could someone explain how that turns into 1024? Maybe some links to memory address info, #define info, or something relevant.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
0x00000400 是 1024 的基数 16。调试器将向您显示基数 10 的整数值。
0x00000400 is base 16 for 1024. Your debugger is showing you the integer value in base 10.
“0x400”是十六进制,或基数16。0x400表示为十进制(基数10),是1024.
顺便说一句,你可以用google来做base转换。搜索“十进制的 0x400”,Google 就会给你答案。
"0x400" is hexadecimal, or base 16. 0x400 expressed as decimal (base 10), is 1024.
By the way, you can use google to do base conversions. Search for "0x400 in decimal" and google will give you the answer.
0x00000400 是 400 以 16 为基数,也就是 1024 以 10 为基数。
0x00000400 is 400 base 16, which is 1024 base 10.
十进制 1024 = 十六进制 400。
1024 in decimal = 400 in hex.
0x400
是一个十六进制数(由0x
前缀表示)。它是表示十进制数1024
的另一种方式。0x400
is a hexadecimal number (indicated by the0x
prefix.) It is another way of representing the decimal number1024
.此外,从 0x400(基数 16)到基数 10 的转换为:
Additionally, the conversion from 0x400 (base 16) to base 10 is:
好吧,我还没有看到你的代码,但是 400h = 1024 十进制并且你指定整数 ' int value = VAL ' 编译器只是不显示任何通知/警告,它会为你进行转换
well, I haven't seen your code, but 400h = 1024 decimal and you specify integer ' int value = VAL ' compiler just does not display any notice/warning, it does the cast for you