侧边栏壁纸
博主头像
我的学习心得 博主等级

行动起来,活在当下

  • 累计撰写 223 篇文章
  • 累计创建 60 个标签
  • 累计收到 4 条评论

目 录CONTENT

文章目录

为什么一个 byte 类型存储的数字范围是-128~127

Administrator
2022-03-26 / 0 评论 / 0 点赞 / 1028 阅读 / 0 字

byte 类型是有符号的 8 位整型:

  • 1111 1111表示-127,即$-(2^7-1)$
  • ...
  • 1000 0001表示-1
  • 1000 0000表示-128,即$-2^7$
  • 0000 0000表示0
  • 0000 0001表示+1
  • ...
  • 0111 1111表示+127,即$2^7-1$

按照符号位的逻辑,1表示负数,0表示正数,那么0000 0000应该表示+0,1000 0000应该表示-0。在我们的认知中,0没有正负,或者说+0和-0实际上是一个东西,然而在计算机看来,0000 00001000 0000是两个东西,这种不一致性会给计算带来很大的问题。所以一般在计算机中,我们用1000 0000来表示-128。注意这里的1000 0000实际上是一个有符号的整数,无符号的1000 0000表示的是+128。有符号的单字节整数不能表示大于等于128的整数。

0

评论区