永发信息网

为什么65535的二进制为111.1111(16个1),111.1111(16个1)是-1的二进制?

答案:1  悬赏:60  手机版
解决时间 2021-03-19 18:28
为什么65535的二进制为111.1111(16个1),111.1111(16个1)是-1的二进制?
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位二进制表示。


我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
专业欺骗感情的人会得到报应吗?
安丘到济南多少钱?做汽车
对方手机一直在通话中,怎样才能联系到对方
求一些四合院生活的描写
伊金霍洛旗扎萨克镇老中医
山东祥瑞药业有限公司在什么地方啊,我要过去
天津利隆生物科技有限公司的养生屋可以全家人
1/350 大和号的模型长宽高有多大?
语言栏总默认为EN,怎样改成CN
怎样把用美图秀秀制作好的影集考到u盘上
烟台银行卡不可以微信支付吗
“漫步云端”有什么典故或出处
帝丝秀专业烫染会所我想知道这个在什么地方
常州地区小车在6年内免检汽车还要测尾气吗?
在CAD中,怎样给一个画好的的图加图框
推荐资讯
在经年后感叹,那两个少年,一个惊艳了时光,
四道街皮炎所来那个面膜叫什么
求过两直线2x-3y+10=0和3x+4y-2=0的交点,且
2016年6月29是多少周?
洗澡时用澡巾搓澡好吗
今年27岁 体能还能练出来吗
鼻子和嘴之间的皮肤颜色发黑! 急!!
有什么好,大家放倒都会做什么
PLC的输入点能不能串联两个磁性开关?
上的骨头,就是左跨好疼啊,怎么回事
谁能帮我解开忘记的大学士学生平板电脑的数字
用12306网上买两张学生火车票两张都能优惠吗
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?