数据类型的表示范围划分

数据类型的范围划分

为什么数据类型(这里以byte类型为例)的的表示范围正数和负数的范围不同呢?

这里先引入几个概念
计算机为什么使用2进制。

计算机的重要组成原件 —— 二极管,简单理解为沿某一方向通电,反向不通电的电子元器件,通电的状态记作1,不通电记作0。
可知二极管只有0、1两种状态。
人类生产生活使用的是10进制,即0 ~ 9。(10根手指,掰指头数数)
计算机使用的二进制。(只有0、1两种状态)。

计算机中的位,字节

1、位:位表示的是二进制位,一般称为but,是计算机存储的最小单位。(即一个二极管)
表示范围:0 ~ 1
一个二进制位称为1bit,8个二进制位称为1Byte(1字节)

2、字节:字节是计算机中数据处理的基本单位。计算机中以字节为单位存储和解 释信息,规定一个字节由八个二进制位构成,即1个字节等于8个比特,计算机存储数据时以8个二极管为一个单元。
表示范围:00000000 ~ 11111111 即0~256

解答

byte 数据类型是8位:

最小值是 -128(-2^7);
最大值是 127(2^7-1);

根据前文引入的概念,我们可以知道计算机将使用8位,即8个二极管作为一组来存储一个字节 ,这8个二极管状态共有多少种组合呢?
2^8
即:
00000000
00000001
00000010

11111101
11111110
11111111

那么怎么表示负数呢?
计算机将第一位作为标记,为1表示正数,为0表示负数;

00000001 表示-1
10000001 表示+1

这样一来,正负的表示范围就各为2^7
为什么实际上正数的表示范围是2^7-1呢?
因为 0
00000000 这是0
负数范围:最小值 ~ 0
正数范围:0 ~ 最大值
显然 0 只有一个,只能计算一次
从正负表示规则看,0划给了负数那一边,所以正数就少一个,即2^7-1。

观察其他类似数据类型类型,可以发现都是正数那一边-1。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值