2字节、4字节、8字节的有符号整数的取值范围

首先,字节(Byte):Byte就是字节,bit就是位

1 Byte = 8 bit

1 KB = 1024 Byte

1 MB = 1024 KB

1 GB = 1024 MB

简单了解字节和位之后,先来看一个最简单的例子,8位-无符号表示的最大最小值。

其中每一位都可填入0或1,

1位      二进制最大值为1       最大值就是1          (2^1)-1

2位     二进制最大值为11      最大值就是3          (2^2)-1

3位     二进制最大值为111    最大值就是7          (2^3)-1

......

所以如果是8位无符号的最大值就是1111 1111,最大值是255,即就是 (2^8)-1。

    然而有符号只是在此基础上让8位中的第一位充当符号位,0代表正数,1代表负数。

  符号位

0正、1负

相当于变成了7位有效位,那么

8位有符号的最大值就是0111 1111,最大值是+127,即就是 (2^7)-1,

8位有符号的最小值就是1000 0000,最小值是-128,即就是 -2^7,

注意:这里为什么是 -2^7,而没有减1,是因为正数方向是从0开始的,0~127,共128个数字;

而负数方向没有0,因为实际上没有正0和负0的区分,只有一个0,如果负数方向也从0开始就相当于把0算了2次。在计算机中,默认把0归属于正数方向,所以负数方向就是从-1即就是1000 0001开始的,-1 ~ -128,也是128个数字。另外,默认规定1000 0000(负0)就是-128,因为7位有效位不可能表示出128。

        所以有了简单的基础之后,我们如法炮制就可以得出2字节、4字节、8字节分别对应的有符号数的最大值和最小值。

有符号数:2字节(16位)

十进制二进制
  最大值(2^15)- 1  3276701...1 //0后面15个1
  最小值      - 2^15- 3276810...0 //1后面15个0

有符号数:4字节(32位)

十进制二进制
  最大值(2^31)- 1  214748364701...1 //0后面31个1
  最小值      - 2^31 -214748364810...0 //1后面31个0

有符号数:8字节(64位)

十进制二进制
  最大值(2^63)- 1  数字很大01...1 //0后面63个1
  最小值      - 2^63  数字很大10...0 //1后面63个0

-----------------------------------------------------------------------------------------------

本篇完

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值