为什么char能表示-128

来源:互联网 发布:java时间格式化到毫秒 编辑:程序博客网 时间:2024/04/30 22:01

以前一直不太理解为什么8位的char能表示-128,于是到网上去百度,原来就是这么规定的。哎,。。。

由于-128的原码用8位无法表示,所以必须扩展到16位去表示,然后对16位的原码计算出16位的反码和补码,最后对16位的补码作低8位的截断,截断的低8位的值就是-128的补码了。

 


注意:由于char能表示的范围是:-128~127,如果将-129赋给char,编译的时候是会产生warning的,并会截断,截断后的值是0x7f(127)。

原创粉丝点击