65536在计算机内的2进制是多少?

unsignedint的范围是0到65535,那int0的2进制与65536的2进制一样吗?是多少呢??... unsigned int 的范围是0到65535,那 int 0的2进制与65536的2进制一样吗?是多少呢?? 展开
 我来答
14566666
2008-04-30 · TA获得超过1382个赞
知道小有建树答主
回答量:905
采纳率:50%
帮助的人:273万
展开全部
首先 unsigned int<照你的意思存储范围为0~65535>.所以 是不可能存

储65536.我们可以把unsigned int当作为2个字节大小的容器

意思就是说只能装16位由于65535的2进制表示为:10000000000000000

有17位,我们只取它的后16位,为0000000000000000,所以当我们把65536

赋给一无符号整型后,其实我们只装进了16位,所以最后结果为0.

整形其实很好判断,下面我给你贴一个浮点型被截断的一个题目:

题目原型:

main()
{
double x=2.71828;
printf("%d",x);
}
求X的输出:

我自己的回答:

先求出double类型在内存中的存储方式:再取它的后32个字节

2.71828的2进制表示为10.10110<只精确了5位>

用2进制科学记数法表示为1.010110*2的1次方

所以有2.71828在内存中的表示方式为

0符号位 100000000000<1023+1>阶码 尾数部分1011000000000000000000000000000000000000000000000000

合起来就为:
01000000000001011000000000000000000000000000000000000000000000000

在取后32位输出<这里得不到正确结果的,因为我人为的只保留了5位>

但是象这样的程序我测试过

main()

{
int a=300;

printf("%c",a);

}

因为300在内存中的100101100<这个是底9位>,又因为%c输出一个字符为8位
所以就为
00101100=44,就是把ASCII为44的输出 就是',',这个测试过,是正确的

两个原理一样

今天自己认真的算了一下

2.71828在内存中真真的存储是这样的:
0100000000000101101111110000100110010101101010101111011110010000
我们取出后32位为
10010101101010101111011110010000<补码>求出他的原码为:
- (1101010010101010000100001101111+1)=
-1101010010101010000100001110000=-1783957616

如果是TC下的话,就只取后16位为1111011110010000,同样为负数

同上面一样的求,结果为-2160

所以最后结果为:VC:-1783957616: TC:-2160
上海巴鲁图工程机械科技有限公司_
2022-05-15 广告
光电编码器,是一种通过光电转换将输出轴上的机械几何位移量转换成脉冲或数字量的传感器。光电编码器每转输出60(我们用老板没有说)个脉冲,五线制。其中两根为电源线,三根为脉冲线(A相、B相、Z)。电源的工作电压为 (+5~+24V)直流电源。光... 点击进入详情页
本回答由上海巴鲁图工程机械科技有限公司_提供
高金山
2008-04-30 · TA获得超过1万个赞
知道大有可为答主
回答量:4101
采纳率:0%
帮助的人:1710万
展开全部
int 0的2进制与unsigned short类型的65536的2进制一样

因为 int 0 的二进制码是;0000 0000 0000 0000
而65536= 1 0000 0000 0000 0000 ,两个字节表示不完
如果把65536强制转换为unsigned short类型的,那么最高位的1将溢出掉
所以,也只剩下0了,也就等于0了,也就跟0完全一样了

另外:
在TC环境占用2个字节,VC环境下int是占4个字节的
C语言书上说int占2个字节,未指明环境
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cjlswb
2008-04-30 · TA获得超过590个赞
知道小有建树答主
回答量:338
采纳率:0%
帮助的人:167万
展开全部
就是16位二进制,每一位全是1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友c01ba5d
2008-04-30 · TA获得超过802个赞
知道小有建树答主
回答量:259
采纳率:0%
帮助的人:187万
展开全部
我记得int是4个字节的空间,所以如果
int = 65536
会溢出

因为
65536= 1 0000 0000 0000 0000

占5个字节
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zm298
2008-04-30 · TA获得超过5.4万个赞
知道顶级答主
回答量:11.4万
采纳率:40%
帮助的人:9.7亿
展开全部
65535的2进制:

1111111111111111
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式