数据在内存中的存储

数据类型:

内存中最小的存储单元是位,单位是比特

接下来的存储单元是字节。

内存中存放的数据,以二进制的补码存放,以十六进制展示

类型名

介绍

存储大小<字节>以及特点

char

字符型

1

C语言未规定char是否有符号,取决于编译器,vs中默认有符号。

short

短整型

2

int

整型

4

long

长整型

在32位平台上为4

在64位平台上为8

flaot

单精度浮点型

4

double

双精度浮点型

8

整型在内存中的存储模式

原码,反码,补码

数值的表现形式:二进制,八进制,十进制,十六进制

eg:

-10的原反补码:

原码:10000000000000000000000000001010

反码:11111111111111111111111111110101

补码;11111111111111111111111111110110

在内存中的显示方式为:

f6 ff ff ff

为什么要以补码的形式存放?

使用补码,可以在运算的时候将

1.使用补码,可以在运算的时候将符号位和数值域统一处理,同时加减法也可以统一处理
2.保证数据在整形提升前后表达的值不变。

有符号数和无符号数

有符号数二进制序列的最高位是符号位

无符号数二进制序列的最高位不是符号位

对于有符号整型来说,随着其自增,ta的值会在其类型的存储范围中不断无限循环下去,并不会超出该范围。同样对于其无符号整数来说,其值也会在0-255之间循环下去。

隐式类型转换:

当使用一种类型替代另一种类型进行操作或者存在两个不同类型的对象进行操作时,首先进行类型转换。类型转换分为隐式类型转换和显示类型转换。

截断操作,整型提升和运算转换

整型运算中,若使用char和short类型,则在使用前需要进行整型提升。

前提条件:

其在内存中的存储大小小于int类型时候,需要对该类型进行整型提升转换成int或者unsigned int型,然后再送入CPU中去运算。

提升规则:

有符号:在高位补变量的符号位

无符号:补0;

整型提升作用于补码,但是正数的原码和补码相同。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值