剖析整数,浮点数在内存中的存储

本文深入探讨了整数(无符号数和有符号数,包括补码表示及大小端存储模式)和浮点数在内存中的存储方式,通过实例解析了整数的范围和浮点数的转换过程,帮助读者更好地理解数值类型在计算机内部的工作原理。
摘要由CSDN通过智能技术生成
  • 整数在内存中的存储

无符号数
机器字长为n+1位的无符号数表示的范围是0~(2^(n+1)-1),此时二进制的最高位也是数值位,其权值位2^n。若字长为8位,则数的表示范围为0~255(2^8-1),即八个1。

有符号数
约定二进制数的最高位为符号位,0表示正,1表示负。
在内存中,以补码的形式存储数据。
正数的原码、反码、补码一致。负数的反码:符号位不变,数值位按位取反;负数的补码:符号位不变,数值位按位取反,末尾+1。
—–对于八位二进制数,补码的范围为-128~127。其中1000 0000在补码中表示为-128,在原码中表示-0,在反码中表示-127。

大小端存储
大端存储模式:是指数据的地位保存在内存的高地址中,而数据的高位保存在内存的低地址之中。
小端存储模式:是指数据的地位保存在内存的低地址中,而数据的高位保存在内存的高地址之中。

大小端原理
因为在计算机系统中,我们是以字节为单位的,每个地址单元都对应着一个字节,一个字节为8bit。但是在C语言中除了8bit的char之外,还有16bit的short型,32bit的long型(由编译器决定),另外,对于位数大于8位的处理器。例如16位或者32位的处理器,由于寄存器宽度大于一个字节,那么必然存在着一个将多个字节安排的问题。因此就导致了大端存储模式和小端存储模式。例如16位bit的short型x,在内存中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值