正在加载图片...
补码依旧表示0到2147483647。 原码负数是从-2147483647到-0 11111111111111111111111111111111到 1000.0000000000000000000000000000 补码是从1D00000000000000000000000000000001到 00000000000000000000000000000000 从需要把除符号位以后的部分取反加1,即-2147483647的补 码为10.…30个.1。 也就是正0和负0的补码编码是一样的。但是,我们知道, 32位二进制数可以表示232个编码,而在补码中零的编码只 有一个,也就是补码中会比原码多一个编码出来,这个编码 就是10000000000000000000000000000000, 因为任何一 个原码都不可能在转成补码时变成1000000000000000 0000000000000000。所以,人为规定1000000000000000 0000000000000000这个补码编码为-2147483648。所以,补 码系统中,范围是-2147483648~-2147483647。 因此,实际上,32bits二进制的最小数确实是111111111111 11111111111111111111,只是二进制补码的最小值才是补码依旧表示 0 到 2147483647。 原码负数是从-2147483647 到-0 1111 1111 1111 1111 1111 1111 1111 1111 到 1000 0000 0000 0000 0000 0000 0000 0000 补码是从 1000 00000 0000 00000 0000 0000 0000 0001 到 0000 0000 0000 0000 0000 0000 0000 0000 从需要把除符号位以后的部分取反加 1,即-2147483647 的补 码为 10…30 个…1。 也就是正 0 和负 0 的补码编码是一样的。但是,我们知道, 32 位二进制数可以表示 2 32 个编码,而在补码中零的编码只 有一个,也就是补码中会比原码多一个编码出来,这个编码 就是 1000 0000 0000 0000 0000 0000 0000 0000,因为任何一 个原码都不可能在转成补码时变成 1000 0000 0000 0000 0000 0000 0000 0000。所以,人为规定 1000 0000 0000 0000 0000 0000 0000 0000 这个补码编码为-2147483648。所以,补 码系统中,范围是--2147483648~-2147483647。 因此,实际上,32bits 二进制的最小数确实是 1111 1111 1111 1111 1111 1111 1111 1111,只是二进制补码的最小值才是
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有