char类型的有符号和无符号

您所在的位置:网站首页 有符号数和无符号数的定义 char类型的有符号和无符号

char类型的有符号和无符号

2024-07-09 20:58| 来源: 网络整理| 查看: 265

char是很多语言里的字符类型,比如c++/java。在c++中,char默认是有符号类型(signed)的,但是为什么一个字符要分有符号和无符号呢?这有什么区别或者有什么意义吗?

我开始的时候也总是不明白。查了很多资料发现一个不错的解释 以C++中的char为例:因为C++中的字符编码是ASCII编码,只有0-127有对应字符。而0-127只需要7个bit位就可以表示了,但是计算机存储一般用字节作为最小单位会比较高效,所以char类型是用一个字节存储的,那么多出来的那一个比特位就可以用于表示正负号。当使用有符号的char类型时,char对应的二进制数字范围是 [-128, 127] ,虽然负数部分没有对应的字符,但是仍然能转换成int类型打印出来:

char c = -1; int i = c; cout


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3