第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

C+中循環(huán)移位(旋轉(zhuǎn))操作的最佳實踐

C+中循環(huán)移位(旋轉(zhuǎn))操作的最佳實踐

C++ C
拉莫斯之舞 2019-06-16 14:37:46
C+中循環(huán)移位(旋轉(zhuǎn))操作的最佳實踐左移和右移操作符(<和>)已經(jīng)在C+中可用。然而,我無法找到如何執(zhí)行循環(huán)移位或旋轉(zhuǎn)操作。如何執(zhí)行“左轉(zhuǎn)”和“右轉(zhuǎn)”等操作?右轉(zhuǎn)兩次Initial --> 1000 0011 0100 0010應導致:Final   --> 1010 0000 1101 0000舉個例子會有幫助。(編者注:許多常用的用C表示旋轉(zhuǎn)的方式,如果旋轉(zhuǎn)計數(shù)為零,或編譯成不止一個旋轉(zhuǎn)機器指令,就會有未定義的行為。這個問題的答案應該記錄最佳實踐。)
查看完整描述

3 回答

?
DIEA

TA貢獻1820條經(jīng)驗 獲得超3個贊

因為它是C+,所以使用內(nèi)聯(lián)函數(shù):

template <typename INT> INT rol(INT val) {
    return (val << 1) | (val >> (sizeof(INT)*CHAR_BIT-1));}

C+11變式:

template <typename INT> constexpr INT rol(INT val) {
    static_assert(std::is_unsigned<INT>::value,
                  "Rotate Left only makes sense for unsigned types");
    return (val << 1) | (val >> (sizeof(INT)*CHAR_BIT-1));}


查看完整回答
反對 回復 2019-06-16
  • 3 回答
  • 0 關(guān)注
  • 864 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號