基本数据类型的表现形式

整数类型

四种整数类型:
int , long , short , long long
在VS2019中:
int , long占4个字节
short占2个字节
long long占8个字节

由于二进制不方便显示与阅读,因此内存中的数据采用16进制来表示

1字节由2个十六进制数组成
1个十六进制用4个二进制表示
1个二进制表示1位
->1字节在内存中占8位

整数类型分为:符号型与无符号型
有符号整数:负数与正数
无符号整数只能表示负数

无符号整数

在内存中,无符号整数的所有位都用来表示数值!不存在正负之分,所有无符号整数在内存中都是以真值的形式存放的,每一位都可以参与数据表达。
例子:unsigned int(4字节)
十六进制范围:0x00000000–0xFFFFFFFF
十进制范围:……

当无符号整数不足32位时,用0来填充高位,直到占满4字节内存空间为止

“小尾方式”:存放以字节为单位,按照数据类型长度,低数据位存放在数据的低端,高数据位存放在数据的高端
例子:0x12345678 -> 78 56 34 12
“大尾方式”:数据存储方式与小尾相反,高数据位放在内存的低端,低数据位放在内存的高端
例子:0x12345678 ->12 34 56 78

有符号整数

在内存中占4个字节
符号位:最高位用来表示符号
最高位为:0,表示正数
最高位为:1,表示负数
由于最高位为符号位,不能用来表达数值,因此有符号整数的取值范围比无符号整数的取值范围少1位
十六进制:0x80000000–>0xFFFFFFFF
正数->0x00000000–0x7FFFFFFF
负数->0x80000000–0xFFFFFFFF
负数在内存中都是以补码形式存放的,补码的规则:取反+1;

注意:

对于4字节补码:0x80000000表达可以是负数0也可以是0x80000001-1。
因为0的正负值是相等的,没有必要再用负数0,所有就把这个值的意义规定为0x80000001-1,这样0x80000000也就成为4字节负数的最小值。
这也就是有符号整数的取值范围中,负数区间总是比正数区间多一个最小值的原因。

在数据分析中:
如果将内存解释为有符号整数,则查看用16进制表示时的最高位,最高位小于8则为整数,最高位大于8则为负数。
如果为负数,则必须转为真值,从而得到对应的负数数值。

(今天先这样吧,下面的每天写~)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值