搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 截断高位数据不变吗?
标题:
截断高位数据不变吗?
只看楼主
我菜119
等 级:
青峰侠
帖 子:938
专家分:1756
注 册:2009-10-17
结帖率:
98.26%
楼主
已结贴
√
问题点数:20 回复次数:2
截断高位数据不变吗?
在三十二位机器上,short int 占的是两个字节,也就是十六位,所能够表示的最小数据是:-32768,该数的二进制补码表示:
1
1000000000000000 按照我的理解表示的应该是十七位,因为高一位表示的是符号位,但是short int是十六位,因此就要截断最高位,剩下了 1000000000000000 难道计算机这样也会识别这个数是-32768吗???想请教一下高手是怎么回事??望尽量详细的讲解之,小弟不胜感激!!!!
搜索更多相关主题的帖子:
高位
数据
截断
2010-09-02 20:54
cnfarer
等 级:
版主
威 望:
179
帖 子:3330
专家分:21157
注 册:2010-1-19
第
2
楼
得分:7
其实很简单,0000000000000000为+0,而1000000000000000为-0,我们不需要两种方式表示0,所以将1000000000000000规定为-32768
★★★★★
为人民服务
★★★★★
2010-09-03 07:20
encounter
来 自:扬州
等 级:
职业侠客
威 望:
2
帖 子:150
专家分:359
注 册:2010-7-24
第
3
楼
得分:7
100000000000000是-32768对应的补码
[11111111111111111-1]补=[11111111111111111]补+[100000000000001]补
=[10000000000000000]
ping nbtstat netstat tracert nat at ftp telnet..................
2010-09-03 08:01
3
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-317557-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.671321 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved