• C++基础总结(1)--基本数据类型范围


    unsigned   int   0~4294967295   
    int   2147483648~2147483647 
    unsigned long 0~4294967295
    long   2147483648~2147483647
    long long的最大值:9223372036854775807
    long long的最小值:-9223372036854775808
    unsigned long long的最大值:1844674407370955161

    __int64的最大值:9223372036854775807
    __int64的最小值:-9223372036854775808

    unsigned __int64的最大值:18446744073709551615


    Unsigned short short的取值范围的计算

     答:short在计算机中是以16位二进制补码保存。因为整数的补码是其本身,所以unsigned short的最小值为00000000000000,而它的最大值表示为1111111111111111,即为2^16-1=65535。而short用补码表示的时候第一位用来表示符号位,1000000000000000000000000000000都是表示的。(最前面的符号位1表示负数,0表示正数)

    表示所以表示正数的时候范围从0000000000000000~0111111111111111,即[0,32767].当表示负数的时候,可以从1000000000000000表示到1111111111111111(此处为原码表示),即[-32767,-0],补码表示负数即将其原码除符号位以外的数值位取反+1.-32767的补码为1000000000000001,但100000000000000000(-0)的补码为00000000000000000的补码一样。我们知道0的补码只有一个,任何一个原码在转变成补码时都不可能转变成10000000000000000,所以人们规定将1000000000000000编码成2^15=32768.                 


  • 相关阅读:
    Centos下 安装和测试kafka
    Java枚举
    Java 数组
    Java变量
    Java标识符
    Java修饰符
    java 基本语法
    Java 基础语法
    Java开发工具
    JAVA 发展历史
  • 原文地址:https://www.cnblogs.com/gaot/p/7709704.html
Copyright © 2020-2023  润新知