char能表示(-128~127)
来源:互联网 发布:大数据对行业的影响 编辑:程序博客网 时间:2024/05/17 21:46
char 的取值范围是 -128 ~127
注:数0的补码表示是唯一的:
+0的补码=+0的反码=+0的原码=00000000
-0的补码=11111111+1=00000000(mod 2的8次方)
由于-128的原码用8位无法表示,所以必须扩展到16位去表示,然后对16位的原码计算出16位的反码和补码,最后对16位的补码作低8位的截断,截断的低8位的值就是-128的补码了。
// 8位所能表示的 原码 的范围-127到+127// 8位所能表示的 反码 的范围-127到+127// 8位所能表示的 补码 的范围-128到+127// 计算机当中,是规定-128的补码是1000 0000// 算的时候则需要扩展到16位来算。否则,第8位到底表示符号还是表示数值2的7次方呢?所以,8位就按8位的通常看法来看, -128 的补码是 1000 0000 int main(int argc, char* argv[]){ char ch = -129; // warning C4309: 'initializing' : truncation of constant value char ch2 = -128; // no warning return 0;}
注意:由于char能表示的范围是:-128~127,如果将-129赋给char,编译的时候是会产生warning的,并会截断,截断后的值是0x7f(127)。
0 0
- char能表示(-128~127)
- char能表示(-128~127)
- 为什么char能表示-128
- 为什么char能表示-128
- java中一个char类型字符能表示世界上所有语言的所有字符吗?
- 计算机中char型数为什么表示的是-128————127
- 解读为什么有符号的char可表示范围是-128~+127
- char表示数值范围
- char表示的范围
- 用CHAR表示数值
- c语言中计算int,float,double,char四种数据类型所能表示的数据范围
- C/C++语言中计算int,float,double,char四种数据类型所能表示的数据范围
- 【面试】--mysql 默认隔离级别 where 语句最长多少字符,int(10)10表示多大,char(128)128多大(357)
- 如何实现用更少的空间表示英文字母(a ~ z)构成char A[n]字符串
- 如何实现用更少的空间表示英文字母(a ~ z)构成char A[n]字符串
- C/C++中各种类型int、long、double、char表示范围(最大最小值)
- C/C++中各种类型int、long、double、char表示范围(最大最小值)
- C/C++中各种类型int、long、double、char表示范围(最大最小值)
- Mysql 源码安装
- 日拱一卒(四)
- 【Redis基础】SSH 中Spring-data-redis使用体验
- 重构代码没有提高运行速度,呵呵,大家怎么样看
- Cocos2d-x3.2 双击事件
- char能表示(-128~127)
- android分享图片文字
- AndroidStudio 生成APP中文显示乱码
- SGU102 Coprimes
- 通过反编译一个简单的C程序,解释堆栈的变化
- hdu 1429 胜利大逃亡(续) bfs+状态压缩
- 奋斗是一辈子的事情
- c++复合语句
- 在编程的过程中,认识自己感觉是比较重要的