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

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

calitrean



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

5come5帮你背单词 [ mortgage /'mo:gid3/ n. 抵押,抵押契据;vt. 抵押 ]


搞不懂。。。

为什么在有符号数中,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 | [楼 主]
freezing



资源小王子奖 爱心大使勋章 爱心大使勋章
性别: 帅哥 状态: 该用户目前不在线
头衔: 抱抱
等级: 管理员
家族: 坛猪弹劾组
发贴: 14467
威望: 10
浮云: 9244
在线等级:
注册时间: 2005-09-21
最后登陆: 2022-02-08

5come5帮你背单词 [ animal /'æniməl/ n. & a. 动物(的),兽类(的) ]


  用猜的话只能说也许因为如果用2U转2L的之后的运算会更繁琐... 带符号数运算貌似都编译后都涉及补码 反码之类的咚咚...无符号数就直接加减跟与或了...

求学过编译原理的达人解答....
顶端 Posted: 2009-05-07 16:32 | [1 楼]
freezing



资源小王子奖 爱心大使勋章 爱心大使勋章
性别: 帅哥 状态: 该用户目前不在线
头衔: 抱抱
等级: 管理员
家族: 坛猪弹劾组
发贴: 14467
威望: 10
浮云: 9244
在线等级:
注册时间: 2005-09-21
最后登陆: 2022-02-08

5come5帮你背单词 [ dual /'dju:əl/ a. 双的,二重的,二元的 ]


  建个文件 试试编译一个2U -2U的比较跟个2L -2L 看看出来的文件大小...
顶端 Posted: 2009-05-07 16:39 | [2 楼]
我来我网·5come5 Forum » 灌水乐园 大杂烩

Total 0.014458(s) query 6, Time now is:11-26 12:19, Gzip enabled
Powered by PHPWind v5.3, Localized by 5come5 Tech Team, 黔ICP备16009856号