补码和数据类型的范围

一、原码,反码,补码的转化

  1. 正数的原、反、补码是一样的

  1. 负数的原、反、补码不同(计算规则如下:)

原码——>反码(原码按位取反,最高符号位不变)——>补码(反码+1)

举个例子:

二、为什么存在补码

首先,我们知道,在计算机系统中,数值一律用补码来表示和储存,原因在于使用补码可以将符号位和数值域统一处理;同时,加法和减法可以统一处理(cpu只能进行加法运算),通过补码的加法运算才能得到我们想要的计算结果

举个例子:

三、有符号和无符号

1、有符号就是二进制的最高位是符号位(1为负,0为正),该位只用来判断正负,不是有效数值域

2、无符号就是正数,它的二进制的最高位不是符号位,计入数值域内

例子:

四、数据类型的范围

1、char类型
  1. char(signed char)

数值范围:-128~127

数值的计算方法:(下面的二进制码都是补码)

最大值:01111111(127)

最小值:10000000(-128)

128的补码是怎么得到?

127的补码+1是10000000(-128的补码)

范围记忆方法:

2、short

1、short(signed short)

范围:-32768 ~32767

2、unsigned short

范围:0~65535

总结:对于数据类型的范围能够记住就行,每一个有符号的数据类型的范围都遵循两个原则:

1、钟表原则

2、最小值的绝对值-1=最大值

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值