c++中char类型在内存中的表示以及取值范围

windows c/c++ 专栏收录该内容
272 篇文章 4 订阅

char类型取值范围:-128~127

数字在计算机中以补码形式存储,因为正数的补码就是其本身且正数符号位置0,故最大值为01111111也就是127

而负数的补码是按位取反 (符号位保持不变),再加1。

00000001     //-1

11111110     //取反

11111111     //+1

 

对于最小的负数-128来说

10000000   //-128(-0)

11111111    //取反

1000000    //+1

不管是原码还是补码, 总会出现 -0 这个值。 本来 +0 与 -0 是没有区别的。 但对于存储器和编译器来讲,总得充分利用每个字节吧, 更不想出现二义性。 那么,干脆将 -0 表示为 -128 , 这样一来,既增大了signed char 数值的表示范围,又消除了 -0 的二义性,

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
©️2020 CSDN 皮肤主题: Age of Ai 设计师:meimeiellie 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值