【发布时间】:2014-09-25 13:45:42
【问题描述】:
在above screenshot of NSIGHT debugger,谁能给我解释一下:
1- 0.2010854 到底是什么? (见本地窗口)
2-地址的值是多少:0x00110000
3- 为什么这个地址只有 16 位?在 32 位操作系统上,它不应该是 32 位吗? 对不起,这是我的错误,它是 32 位的,如下面的评论中指出的那样。
【问题讨论】:
-
我认为 0.2010854 是该行 (
A) 上引用的__device__ float*指针所指向的第一个float值。是什么让您认为0x00110000是 16 位地址?每个十六进制数字需要 4 位存储空间。显示了 8 个十六进制数字。 4x8=32 位。 -
@RobertCrovella,哦,是的,它是 32 位的。顺便说一句,内存窗口给出了什么信息?那个窗口里有 0.2010854 吗?
-
内存窗口还向您显示从内存地址
0x00110000开始的内存中存储的内容(在这种情况下),但它会逐字节显示数据。例如,如果您获取前 4 个字节并将它们重新排列为 32 位数量(因此,0x3e4de99c),您将拥有 0.2010854 的float表示。