c語言右移怎么補(bǔ)1 C語言按位左移運(yùn)算規(guī)則?
C語言按位左移運(yùn)算規(guī)則?在C語言中,按位左移的運(yùn)算符是<<,其規(guī)則如下:對(duì)于操作a<<;LTN,1根據(jù)每個(gè)二進(jìn)制值將n位移到高位(寫入左側(cè));2舍入最高位(最左側(cè))n位;3在最低位(最
C語言按位左移運(yùn)算規(guī)則?
在C語言中,按位左移的運(yùn)算符是<<,其規(guī)則如下:
對(duì)于操作a<<;LTN,
1根據(jù)每個(gè)二進(jìn)制值將n位移到高位(寫入左側(cè));
2舍入最高位(最左側(cè))n位;
3在最低位(最右邊)填充n個(gè)零。
簡(jiǎn)單示例如下:
示例1
0x12<<< 3=>
b00010010<< 3=>
b10010可以編寫以下程序來驗(yàn)證:
#include<stdio。H>void check(char a,int n){printf(“0x%HHx<<;lt)}%D=0x%HHxn”,a,n,a<<N)}int main(){check(0x12,3)check(0x9e,2)return 0}
它的運(yùn)行結(jié)果是
0x12< 3=0x900x9e< 2=0x78
可以看出它與我們的計(jì)算結(jié)果是一致的。
c語言中按位與。按位或什么意思?
位運(yùn)算符c語言提供六個(gè)位運(yùn)算符:
&位與
|位或
^位異或
~求反
>>右
位與運(yùn)算。位and運(yùn)算符“&”是雙目運(yùn)算符。它的功能是參與兩個(gè)相應(yīng)的二相和二相的運(yùn)算。只有當(dāng)對(duì)應(yīng)的兩個(gè)二進(jìn)制位為1時(shí),結(jié)果位才為1,否則為0。操作中涉及的數(shù)字的補(bǔ)碼出現(xiàn)。
例如:9和5可以寫為:00001001(9的二進(jìn)制補(bǔ)碼)和00000101(5的二進(jìn)制補(bǔ)碼)00000001(1的二進(jìn)制補(bǔ)碼),所以9和5=1。