范围问题

范围问题

https://img1.sycdn.imooc.com/climg/657efc0b09d8b21b05730141.jpg

不是说 char 的范围只能是-128-127 吗?为什么课件里面用 char a = 200呢?所以说这个范围到底是什么?
https://img1.sycdn.imooc.com/climg/657efc3409f416a106000180.jpg

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
中年猿叔 2023-12-18 18:15:17
char类型是一个字节8bit。正常人的思维
8bit最小的数字是0000 0000   对应十进制是0
8bit最大的数字是1111 1111   对应十进制是255
但是这个思考方式没有考虑正负数问题,考虑的全是正数。
所以出现了有符号类型,有符号类型取数据补码最高位为符号位,表正负!
所以这个问题的关键是搞清楚有符号类型和补码!关于200的数据肯定是超过了有符号类型,所以输出的也不是200。65801bb00001794312120904.jpg认真把这个图理解清楚!
  • 提问者 rootaaaaaaaaaaaaa #1

    https://img1.sycdn.imooc.com/climg/65802492094dd23111320520.jpg

    char 的取值范围 是-128-127  为什么 上面用200 是没有警告 但是输入300 或者大于 256 的时候就会有报错  ?

    2023-12-18 18:54:23
  • 中年猿叔 回复 提问者 rootaaaaaaaaaaaaa #2

    一个字节最大就255,不要超过这个范围!

    2023-12-20 08:16:52
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师