| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 408 人关注过本帖
标题:截断高位数据不变吗?
只看楼主 加入收藏
我菜119
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:938
专家分:1756
注 册:2009-10-17
结帖率:98.26%
收藏
已结贴  问题点数:20 回复次数:2 
截断高位数据不变吗?
在三十二位机器上,short int 占的是两个字节,也就是十六位,所能够表示的最小数据是:-32768,该数的二进制补码表示:11000000000000000  按照我的理解表示的应该是十七位,因为高一位表示的是符号位,但是short int是十六位,因此就要截断最高位,剩下了 1000000000000000 难道计算机这样也会识别这个数是-32768吗???想请教一下高手是怎么回事??望尽量详细的讲解之,小弟不胜感激!!!!
搜索更多相关主题的帖子: 高位 数据 截断 
2010-09-02 20:54
cnfarer
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:179
帖 子:3330
专家分:21157
注 册:2010-1-19
收藏
得分:7 
其实很简单,0000000000000000为+0,而1000000000000000为-0,我们不需要两种方式表示0,所以将1000000000000000规定为-32768

★★★★★为人民服务★★★★★
2010-09-03 07:20
encounter
Rank: 5Rank: 5
来 自:扬州
等 级:职业侠客
威 望:2
帖 子:150
专家分:359
注 册:2010-7-24
收藏
得分:7 
100000000000000是-32768对应的补码

[11111111111111111-1]补=[11111111111111111]补+[100000000000001]补
                       =[10000000000000000]

ping   nbtstat   netstat   tracert    nat   at    ftp   telnet..................
2010-09-03 08:01
快速回复:截断高位数据不变吗?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018483 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved