看板 C_and_CPP 關於我們 聯絡資訊
請問一下 C 或 C++ 有類似等價於 Java ">>>" 及 "<<<" 的用法嗎? 查了一下網路上的資訊是說 >>> 與 >> 的差別在於如果最左邊是 1, >>> 會保留 最左邊的 1 , 而 >> 則是直接補 0; 所以如果在 Java 中的寫法是 a = -1; b = a >>> 1; 在 C++ 中的寫法會等價於 a = -1; b = ( a >> 1 ) & ( 1000 0000 0000 0000 ); 不知道這樣是正確的嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.231.100.125
uranusjr:是 or (|) 才對, 而且先決條件是 a 和 b 為 16 bit 且 -1 01/10 00:57
uranusjr:的編譯器實作中 LSB 為 1 01/10 00:58
Venividivici:不好意思,我還是不太懂..可以舉個例子嗎 @_@? 01/10 01:00
firejox:應該指的是右旋吧,視最低位決定最高位是否補1 01/16 21:01