我們有下面的測(cè)試代碼:
#include <iostream>using namespace std;int main(){ int num1=7; cout<<"num1(7)<<2: "<<(num1<<2)<<endl; cout<<"num1(7)>>2: "<<(num1>>2)<<endl; int num2=-7; cout<<"num2(-7)<<2: "<<(num2<<2)<<endl; cout<<"num2(-7)>>1: "<<(num2>>1)<<endl; cout<<"num2(-7)>>2: "<<(num2>>2)<<endl; return 0;}
對(duì)于正數(shù)的移位操作:
7的二進(jìn)制碼為0111
當(dāng)左移2位時(shí)(右邊補(bǔ)0):11100 十進(jìn)制28
當(dāng)右移2位時(shí)(左邊補(bǔ)0):001 十進(jìn)制1
-7的二進(jìn)制碼1111
當(dāng)左移兩位時(shí):111100(最高位為符號(hào)位) 十進(jìn)制-28
當(dāng)右移1位時(shí) 二進(jìn)制碼為1111 取反加一為補(bǔ)碼 1001,再右移1位為0100 加上符號(hào)位為-4
當(dāng)右移2位時(shí) 二進(jìn)制碼為1111 取反加一為補(bǔ)碼 1001,再右移2位為0010 加上符號(hào)位為-2
以上就是小編為大家?guī)淼年P(guān)于移位操作的一點(diǎn)重要說明全部內(nèi)容了,希望大家多多支持武林網(wǎng)~
新聞熱點(diǎn)
疑難解答
圖片精選