为什么65535的二进制为111.1111(16个1),111.1111(16个1)是-1的二进制?
来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/04/29 16:28:41
为什么65535的二进制为111.1111(16个1),111.1111(16个1)是-1的二进制?
65535是2的16次方再减1,为什么就是16个一啊
65535是2的16次方再减1,为什么就是16个一啊
2^16=65536,2^16-1=65535这没有错啊!111.1111(16个1)是-1的二进制也没错,但这是在int型为2字节的时候.当int型为2字节时,能表示的有符号数的范围是-32768~32767,表示无符号数时范围是0~65535.现在的int型已大都为4字节了,你困惑的这个问题已转移到更大的数上去了.其实计算机里没有什么正数、负数,都是些0、1符号,代表什么数看编程者怎么对待了.就说这111.1111(16个1),在16位整型平台下,编程者如果认为是无符号数,那就是65535,而如果编程者认为是有符号的,那就是-1了.所以不要困惑.
如果你是学C的,用下面的语句来理解我上面的回答——
#include "stdio.h"
void main(void){
\x09int a=0xFFFF;//这就是16个1
\x09printf("%d %u\n",a,a);
}
再问: 就是为什么2^16-1=65535,65535的二进制就是111....1111(16个1),-1的二进制是111....1111(16个1),算法规则是什么啊,谢谢
再答: 用2除,反向取余数,就把十进制变成二进制了—— 65535÷2 = 32767 余 1 32767÷2 = 16383 余 1 16383÷2 = 4095 余 1 4095÷2 = 2047 余 1 2047÷2 = 1023 余 1 1023÷2 = 511 余 1 511÷2 = 255 余 1 255÷2 = 127 余 1 127÷2 = 63 余 1 63÷2 = 31 余 1 31÷2 = 15 余 1 15÷2 = 7 余 1 7÷2 = 3 余 1 3÷2 = 1 余 1 1÷2 = 0 余 1 反向取余数:11111111 11111111。 至于-1的也是11111111 11111111的“来历”: 16位表示-1的原码是10000000 00000001,那个最高位上的1是表示负数的称号。计算机中都是用补码表示的,求补码的办法之一是:先求其反码,再加1;反码求法是除符号位外各位取反:11111111 11111110,求补码再加1,即是11111111 11111111。这就是-1在计算机中的16位二进制表示。
如果你是学C的,用下面的语句来理解我上面的回答——
#include "stdio.h"
void main(void){
\x09int a=0xFFFF;//这就是16个1
\x09printf("%d %u\n",a,a);
}
再问: 就是为什么2^16-1=65535,65535的二进制就是111....1111(16个1),-1的二进制是111....1111(16个1),算法规则是什么啊,谢谢
再答: 用2除,反向取余数,就把十进制变成二进制了—— 65535÷2 = 32767 余 1 32767÷2 = 16383 余 1 16383÷2 = 4095 余 1 4095÷2 = 2047 余 1 2047÷2 = 1023 余 1 1023÷2 = 511 余 1 511÷2 = 255 余 1 255÷2 = 127 余 1 127÷2 = 63 余 1 63÷2 = 31 余 1 31÷2 = 15 余 1 15÷2 = 7 余 1 7÷2 = 3 余 1 3÷2 = 1 余 1 1÷2 = 0 余 1 反向取余数:11111111 11111111。 至于-1的也是11111111 11111111的“来历”: 16位表示-1的原码是10000000 00000001,那个最高位上的1是表示负数的称号。计算机中都是用补码表示的,求补码的办法之一是:先求其反码,再加1;反码求法是除符号位外各位取反:11111111 11111110,求补码再加1,即是11111111 11111111。这就是-1在计算机中的16位二进制表示。
为什么65535的二进制为111.1111(16个1),111.1111(16个1)是-1的二进制?
16个二进制数可表示的整数范围是?
为什么二进制的逻辑运算是1+1=1
8位二进制数,是指8个二进制数,还是指2的8次方个二进制数
-1的二进制编码是什么?
计算机利用的是二进制数,它共有两个数0,1,将一个十进制数转化为二进制数,只需把该数写成若干个2的n次方数的和,依次写出
计算机利用的是二进制数,它共有两个数码0、1,将一个十进制数转化为二进制数,只需把该数写成若干个2n数的和,依次写出1或
计算机利用的是二进制数,它共有两个数码0、1,将一个十进制数转化为二进制数.24是转化为二制数为( )
77,计算机中存储容量的基本单位是字节,1个字节包含的二进制数位数是________位.
某补码表示的8位二进制整数由3个1和5个0组成,则其可表示的最小值是( ).
一个字节是由____个二进制单位组成;1KB是2的___次方字节,即___字节?
在所有六位二进制数中,至少有连续4位是1的数有多少个?