gpt4 book ai didi

language-agnostic - 为什么内存地址用十六进制数表示?

转载 作者:IT王子 更新时间:2023-10-28 23:31:10 25 4
gpt4 key购买 nike

每当我看到直接引用内存上特定位置的 C 程序(例如内存屏障)时,它都是用十六进制数字完成的,在 Windows 中,当你得到一个 segfualt 时,它会显示内存被一个十六进制数字分隔。
例如:*(0x12DF)
我想知道为什么内存地址用十六进制数字表示?
是有什么特殊原因还是只是约定俗成?

最佳答案

内存通常以较大的单元(例如页面或段)来操作,它们大小往往是 2 的幂。因此,如果地址以十六进制表示,则为更容易将它们阅读为 page+offset 或类似的结构。小数很难,因为令人讨厌的 5 倍,而且二进制地址太长而难以阅读。

关于language-agnostic - 为什么内存地址用十六进制数表示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5329916/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com