本文目录一览:
C语言左位移运算符和右位移运算符是什么意思,怎么运算,举个例子..
就是把一个数转化成二进制再直接对他进行操作
例如:
452 //45右移两位
45的二进制为:101101
右移两位就为: 001011
001011再转化为十进制为:11
所以452= 11
左移运算符
452
45的二进制为:101101
左移两位就为:10110100
10110100再转化为十进制为:180
所以452=180
c语言中的位移运算是怎样执行的啊,最好有例子......
左移就是把二进制表示,向左面移动,右边补零,超过部分会丢弃
比如char
x
=
126,
是8位的,11111110
左移2位,补2个零,11
1111
1000,本来8位,会丢弃超出的2位
得到
11111000
右移,是右面部分丢弃一些位,左面补零
比如char
x
=
126,
是8位的,11111110
右移2位,丢弃2位,
111111,本来8位,少2位,补零得到
00111111
C语言中什么叫位移?
给你一个例子:
左移运算 左移运算符“”是双目运算符。其功能把“ ”左边的运算数的各二进位全部左移若干位,由“”右边的数指定移动的位数, 高位丢弃,低位补0。 其值相当于乘2。例如: a4 指把a的各二进位向左移动4位。如a=00000011(十进制3),左移4位后为00110000(十进制48)。
C语言中的位移有什么用
一般情况下很少用到的,使用位移可以干很多事,而且效率很高,比如一个数乘2的n次方,或者除2的n次方,只要位移n位就可以了