c语言中内存单元的地址是用什么进制表示的

来源:百度知道 编辑:UC知道 时间:2024/05/27 12:13:52
rt
那为什么教材上输出一个结构体变量stu1的首地址是这样写的printf("%o",&stu1);为什么呢?
%o不是八进制输出吗?

你写的时候是用十六进制,从0000H到FFFFH,但是这个只是地址存储编号,实际上的地址要加偏移量修正。比如2000H,偏移量160H,则地址为20000H+160H=20160H,。因为寻址是16位的,但实际上可到20位。不过无论什么操作,到机器上都会变成二进制。十六进制是为了在写程序时方便你的书写和换算。

十六进制

16

用什么进制表示还不都一样……进制只是给人看看的,无论里写什么进制,计算机肚子里还不都是二进制……

二进制数表示!