我来我网
https://5come5.cn
 
您尚未 登录  注册 | 菠菜 | 软件站 | 音乐站 | 邮箱1 | 邮箱2 | 风格选择 | 更多 » 
 

本页主题: 搞不懂。。。 显示签名 | 打印 | 加为IE收藏 | 收藏主题 | 上一主题 | 下一主题

calitrean



年度之星奖
性别: 帅哥 状态: 该用户目前不在线
头衔: WCDMA民工Q某 
等级: 成就辉煌
家族: 单身贵族
发贴: 11025
威望: 0
浮云: 2296
在线等级:
注册时间: 2007-01-16
最后登陆: 2023-11-19

5come5帮你背单词 [ durable /'djuərəbl/ a. 耐久的 ]


搞不懂。。。

为什么在有符号数中,0开头表示正数,1开头表示负数?

比如,在16位机器上,INT型和UNSIGNED INT型占16位,LONG和UNSIGNED LONG型占32位,这样会造成一种情况:
比如,-2L<2U是成立的,因为运算符两边的数据类型大小不一致,一个事LONG型,一个事UNSIGNED INT型,运算的时候会把16位的UNSIGNED型扩展成32位LONG型,而2被扩展成LONG型后仍然要比LONG型的-2大;
而-2L>2UL也是成立的,因为运算符两边数据类型不一致,一个有符号数一个是无符号数,这样LONG型会被变成UNSIGNED LONG型再进行运算。转变成无符号数后,整数-2的二进制中最前面那位原先用于表示符号的1就用来被表示大小了,显然这个数比整数2要大。这样就违背数学原理了。。。

为什么编译器要设计成这样?
顶端 Posted: 2009-05-07 13:11 | [楼 主]
lxlcn



性别: 帅哥 状态: 该用户目前不在线
等级: 鹤立鸡群
发贴: 1310
威望: 0
浮云: 1741
在线等级:
注册时间: 2005-10-06
最后登陆: 2011-06-29

5come5帮你背单词 [ prescription /pris'kripən/ v. 处方,开药,指示,规定 ]


因为要处理这个比较比一般的比较指令要多吧,我猜的.
顶端 Posted: 2009-05-07 13:44 | [1 楼]
我来我网·5come5 Forum » 灌水乐园 大杂烩

Total 0.018852(s) query 8, Time now is:09-22 09:34, Gzip enabled
Powered by PHPWind v5.3, Localized by 5come5 Tech Team, 黔ICP备16009856号