c语言右移怎么补1 C语言按位左移运算规则?
浏览量:1504
时间:2021-03-10 13:12:28
作者:admin
C语言按位左移运算规则?
在C语言中,按位左移的运算符是<<,其规则如下:
对于操作a<<;LTN,
1根据每个二进制值将n位移到高位(写入左侧);
2舍入最高位(最左侧)n位;
3在最低位(最右边)填充n个零。
简单示例如下:
示例1
0x12<<< 3=>
b00010010<< 3=>
b10010可以编写以下程序来验证:
#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}
它的运行结果是
0x12< 3=0x900x9e< 2=0x78
可以看出它与我们的计算结果是一致的。
c语言中按位与。按位或什么意思?
位运算符c语言提供六个位运算符:
&位与
|位或
^位异或
~求反
>>右
位与运算。位and运算符“&”是双目运算符。它的功能是参与两个相应的二相和二相的运算。只有当对应的两个二进制位为1时,结果位才为1,否则为0。操作中涉及的数字的补码出现。
例如:9和5可以写为:00001001(9的二进制补码)和00000101(5的二进制补码)00000001(1的二进制补码),所以9和5=1。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。