[問題] 位移運算子的疑問
遇到的問題(Question):比如說一般的unsigned 所定義的變數是可以隨便用>>,<<
來做除或乘的動作,但變成signed定義時,是不是就不能這樣做了?是會因此改變sign bit
的關係?假如程式是這樣寫:
signed long temp = 0x80000000;
signed long Out;
Out = (temp >> 16); <--A
Out = (temp/65536); <--B
請問一下,是B對還是A對?如果B才是正確的,是否有其他方法可以在負數的情況下,使用
>>,<<來進行除跟乘的動作?(主要是因為用位移的比較快速)
謝謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.37.165.217
→
12/07 20:22, , 1F
12/07 20:22, 1F
→
12/07 21:26, , 2F
12/07 21:26, 2F
→
12/07 21:27, , 3F
12/07 21:27, 3F
→
12/08 00:24, , 4F
12/08 00:24, 4F
→
12/08 00:25, , 5F
12/08 00:25, 5F
討論串 (同標題文章)