美文网首页C++ 杂记
003 带符号类型和无符号类型

003 带符号类型和无符号类型

作者: 赵者也 | 来源:发表于2020-01-02 20:48 被阅读0次

    除去布尔型和扩展的字符型之外,其他整型可以划分为带符号的(signed)和无符号的(unsigned)两种。带符号类型可以表示正数、负数或 0,无符号类型则仅能表示大于等于 0 的值。

    类型 int、short、long 和 long long 都是带符号的,通过在这些类型名前添加 unsigned 就可以得到无符号类型,例如 unsigned long。类型 unsigned int 可以缩写为 unsigned。

    与其他整型不同,字符型被分为了三种:char、signed char 和 unsigned char。特别需要注意的是:类型 char 和类型 signed char 并不一样。尽管字符型有三种,但是字符的表现形式却只有两种:带符号的和无符号的。类型 char 实际上会表现为上述两种形式中的一种,具体是哪种由编译器决定。

    无符号类型中所有比特都用来存储值,例如,8 比特的 unsigned char 可以表示 0 至 255 区间内的值。

    C++ 标准并没有规定带符号类型应该如何表示,但是约定了在表示范围内正值和负值的量应该平衡。因此,8 比特的 signed char 理论上应该可以表示 -127 至 127 区间内的值,大多数现代计算机将实际的表示范围定为 -128 至 127。

    相关文章

      网友评论

        本文标题:003 带符号类型和无符号类型

        本文链接:https://www.haomeiwen.com/subject/cqjokqtx.html