首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >转换为int或其他类型的内存地址的十六进制值的大小是多少?

转换为int或其他类型的内存地址的十六进制值的大小是多少?
EN

Stack Overflow用户
提问于 2012-01-05 02:52:00
回答 4查看 8.3K关注 0票数 0

例如:

代码语言:javascript
复制
int* x = new int;
int y = reinterpret_cast<int>(x);

y现在保存变量x的内存地址的整数值。变量y的大小为int。该int大小是否总是足够大以存储转换为int的任何类型的转换内存地址?

编辑:还是使用long int来避免数据丢失更安全?

编辑2:不好意思,为了让这个问题更容易理解,我想在这里了解的是返回的HEX值作为一个数字的大小,不是int的大小,也不是int的大小,而是普通的十六进制值。我需要用人类可读的表示法来得到这个值。这就是我使用reinterpret_cast将内存HEX值转换为DEC值的原因。但是为了安全地存储这个值,我还需要把它放入一个什么样的变量中: int,long -哪个类型足够大?

EN

Stack Overflow用户

发布于 2012-01-05 02:55:02

在大多数64位目标上,int仍然是32位,而指针是64位,所以不能工作。

http://en.wikipedia.org/wiki/64-bit#64-bit_data_models

票数 2
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8737019

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档