junonly 发表于 2010-06-14 21:18

逻辑左移和算术左移为什么是一样的呢

rt。
而算术右移和逻辑右移确不一样,这是定义的问题还是CPU有相关的指令?

C标准规定无符号的移位都是逻辑移位,而有符号数的移位取决于编译器。

左移也涉及到符号位吧,为啥左移没把符号位给覆盖了?

prolj 发表于 2010-06-14 21:23

电平

prolj 发表于 2010-06-14 21:24

还有时序

jayslove 发表于 2010-06-15 00:55

P
阿姨牛逼啊

accessory 发表于 2010-06-16 01:05

“左移也涉及到符号位吧,为啥左移没把符号位给覆盖了?”

左移为啥要覆盖符号位?留着不是挺好的?左移的时候,只要把低BIT补上0就可以了,没啥其他花样。右移的话,高BIT是补0还是补1,会不一样。我觉得这是2个之间的主要区别。不过我也不是很懂。

EricFisher 发表于 2010-06-17 12:55

比如:
逻辑左移:sll
逻辑右移:srl
算术右移:sra
页: [1]
查看完整版本: 逻辑左移和算术左移为什么是一样的呢