• 有符号整数类型的范围问题

  • 发布时间:2016-01-15 16:47 | 作者:yc | 来源:互联网 | 浏览:1200 次
  • 有符号整数类型的范围问题

    -5的补码逐位求反加一得5的补码

    -5 -> 5: 1111 1011 -> 0000 0100 -> 0000 0101

    5的补码逐位求反加一得-5的补码

    5 -> -5: 0000 0101 -> 1111 1010 -> 1111 1011

    2便利运算,变减法为加法

    符号整数类型的规模:

    整数类型:byte,short,int,long

    byte: 8 位 -128--->127

    short 16位 -32768--->32767

    int32位 --->

    long64位- -->

    为何是这么这么的规模:

    原码:讲一个数转换为二进制,加上符号位等于原码(0注解整数,1注解负数)

    反码;整数的反码等于其原码,负数的反码等于除符号外,每位取反

    补码:整数的补码等于其原码,负数的补码是其反码加一

    例如:单字节5,-5的原码为:0000 0101

    5,-5的反码为真钱四川麻将平台:0000 1010

    5,-5的补码为:0000 1011

    为何谋略机要用补码注解负数

    长处:

    1避免有“俩个零”八位正本能够注解256个数据,要是用原码注解,0000 0000 和 1000 0000都注解零

    补码 0000 0000 和 1111 1111都注解零,这就有点稀罕了可是用补码注解呢?只要0000 0000 这一种注解法子

    2便利谋略机运算:

    求补运算:

    2正数的求补法子和负数的求补法子一样如

    3.....

    有符号整数类型的范围问题

    这些只必要懂得一下即可

    回归原题;为何8位的byte型数据为何规模是-128到127呢,懂得了这个常识点咱们就知道了

    8位补码最大年夜为:0111 1111(127) 最小为:1000 0000(-128)

    16位,32位,64位相似

    以是,n位类型注解有符号数规模为 -(2^(n-1))->2^(n-1)-1

    自己是菜鸟,等候我们矫正

    这篇文章出自 “最佳的景www.517888cc致” 博客,请必须保存此出处http://runrun.blog.51cto.com//

    有符号整数类型的范围问题
  • 相关内容

友情链接: