5、计算机内存存储与算术运算解析

计算机内存存储与算术运算解析

1. 内存数据查看与字节存储顺序

在调试过程中,我们可以使用 gdb 来查看内存中的数据。例如:

(gdb) x/10c 0x7fffffffde8e 
0x7fffffffde8e: 49 '1'   50 '2'  51 '3'  97 'a'  98 'b'  99 
'c'   0 '\000'     127 '\177' 
0x7fffffffde96: 0 '\000' 
0 '\000'  
(gdb) x/10xb 0x7fffffffde8e 
0x7fffffffde8e: 0x31     0x32    0x33    0x61    0x62    0x63 
0x00     0x7f 
0x7fffffffde96: 0x00     0x00

字符显示会展示每个字符的十进制码点和字符字形,而十六进制字节显示仅展示每个字节的十六进制码点。这里的两个显示都显示了标记我们输入的六个字符字符串结尾的 NUL 字符。由于我们要求显示 10 个字节,剩余的 3 个字节具有与我们的文本字符串无关的随机值,通常称为垃圾值。

1.1 字节存储顺序(Endianness)

整数在内存中的存储方式有两种,即大端序(Big-Endian)和小端序(Little-Endian)。

1.1.1 小端序(Little-Endian)

在小端序中,多字节值中最不重要的字节存储在最低编号的地址。也就是说,“最小”的字节(计数最少)在内存中排在第一位。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值