月夜影视在线观看免费完整_亚洲国产成人精品青青草原_少妇被又大又粗又爽毛片久久黑人_欧美乱子伦videos

深圳熱線

位移運算的主要途徑是什么?移位運算符有雙目移位運算符嗎?

2022-03-23 09:20:04 來源:創視網

位移運算

<<運算**

a<

定義一些常量可能會用到<<運算。你可以方便的用1<<16 -1 來表示65535(unsingned int 最大值16位系統)。很多算法和數據結構要求數據模塊必須是2的冪,此時就可以用<<來定義MAX_N等常量。

移位運算符有雙目移位運算符

在c++中,移位運算符有雙目移位運算符:<<(左移)和>>(右移)。移位運算符組成的表達式也屬于算術表達式,其值為算術值。左移運算是將一個二進制位的操作數按指定移動的位數向左移動,移出位被丟棄,右邊移出的空位一律補0。右移運算是將一個二進制位的操作數按指定移動的位數向右移動,移出位被丟棄,左邊移出的空位一律補0,或者補符號位,這由不同的機器而定。在使用補碼作為機器數的機器中,正數的符號位為0,負數的符號位為1。

在移位運算時,byte、short和char類型移位后的結果會變成int類型,對于byte、short、char和int進行移位時,編譯器未做任何優化的情況下(優化后不可預期),規定實際移動 的次數是移動次數和32的余數,也就是移位33次和移位1次得到的結果相同。移動long型的數值時,規定實際移動的次數是移動次數和64的余數,也就是 移動66次和移動2次得到的結果相同。

關鍵詞: 位移運算 主要途徑 都是什么 移位運算符 有雙目移位

熱門推薦