char类型数据的取值范围如何确定

    char类型数据是计算机编程语言中只可容纳单个字符的一种基本数据类型,取值范围为-128~+127。对于上述概念相信大家都已经很熟悉了,但仍有不少同学对于char类型数据的取值范围抱有疑问,不知道为什么char类型数据的取值范围如何确定。

    若要解释这个问题,首先要明确一点,这里的-128~+127所代表的是char和signed char类型数据的取值范围,对于unsigned char类型的数据,其取值范围为0~255。

     无论是signed char还是unsigned char,char型数据只可容纳单个字符,所以char型数据所定义的变量所开辟的空间只有一个字节大小,即只能容纳八位二进制数字。

    明确了signed char 和unsigned char的区别,我们在讨论char型数据取值范围时也要进行分别讨论。

    对于signed char型数据来说,最高位代表的是符号位,“1”代表负数,“0”代表正数,所以只有剩下的七位是数值位。 

     这时我们可以很容易地思考出来,如果计算出signed char中总共存有多少组不同类型的数据,再计算出它们的最大值和最小值,就可以得到signed char数据类型的取值范围了。

    那么signed char中可以存有多少组不同的数据呢?答案是256种,如下图所示:

     如上图所示,按照二进制升序排列,一共有256组不同的数据。从图中来看,从上到下取值范围为0000 0000~0111 1111,也就是十进制0~127,从下到上取值范围为1111 1111~1000 0000,也就是十进制-1~-127。

    对于unsigned char来说,八位数据全代表数值,不表示正负,也就是说unsigned char所定义的类型均为正数。如图所示,可以看出unsigned char数据存储范围是0~255。

     

  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

马孔多镇长

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值