unsigned char与signed char详解

unsigned char

无符号数
unsigned char 的范围:0-255
在这里插入图片描述

signed char

有符号数
signed char 的范围:-128-127
在这里插入图片描述
对于有符号数:最高位代表符号位: 0代表正数 1代表负数
而char类型的大小 一共 00000000-11111111 二的八次方种情况
从00000000(0)–>01111111(127)–>10000000(-128)–>10000001(-127)–>11111110(-2)–>11111111(-1)–>00000000(0)
因此 signed char的范围就是 -128-127
这里对10000000(-128)不理解的同学可以看 原码、反码、补码 这里我们虽然写的是补码,但是最终是以原码的形式表示的。
用是实际的题目来理解:
在这里插入图片描述
我们可以看到最终的结果是 255
当我们定义为 有符号数时,那a的范围就变成了-128-127
在这里插入图片描述
而strlen函数我们在 strlen 中讲过了,当遇到0时就停止了(0的ASCII码对应 ‘\0’),因此最终的结果为255。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值