当前位置:网站首页>编程学习记录——第9课【操作符】
编程学习记录——第9课【操作符】
2022-07-27 05:20:00 【秋名山车神ae】
位操作符
移位操作符在不赋值的条件下不会改变被移位对象的值。
左移操作符
操作规则:左位丢弃,右位补零。例如 char a=1;a在计算机内被储存为二进制序列0001;a<<1表示a左移一位即移位成0010 a的值变为2。
右移操作符
右移操作分为算术右移和逻辑右移,算术右移,最右位丢弃,左位用原值的符号位填充。逻辑右移,右位丢弃,左位补0。使用右移操作符时具体是算术右移还是逻辑右移取决于编译器。
按位与/按位或/按位异或,
按位与操作符 & 是双目操作符,按位与:在同一位上若出现一个0,按位与后该位为0,只有都为1时,该位为1。
按位或操作符 | 是双目操作符,按位与:在同一位上若出现一个1,按位或后该位为1,只有都为0时,该位为0。
按位异或操作符 ^ 是双目操作符,按位与:在同一位上若相同,按位异或后该位为0,在同一位上若不同,按位异或后该位为1。
练习代码:求两个数二进制中不同位的个数
思路,通过异或将不同位变成1,再通过移位操作,求出一共有多少个1,从而得出有多少个位不同。
int main()
{
int a=0;int b=0;int c=0;int count=0;
scanf("%d %d",&a,&b);
c=a^b;
for(int i=0;i<32;i++)
{
if((c>>i)&1==1) count++;
}
printf("%d",count);
}其他操作符
逻辑与操作符&&以及逻辑或操作符||
逻辑与:当全部为真时,才为真,当一个为假,便为假。逻辑或:当一个为真时,便为真,当全部为假时,才为假。
边栏推荐
猜你喜欢
随机推荐
对于windows下的Redis,只能读不能写的问题
Redis在windows下的idea连接不上问题
arcgis style样式表文件转换成geoserver sld文件
向量和矩阵的范数
Weidongshan digital photo frame project learning (I) display ASCII characters on LCD
QGIS系列(1)-QGIS(server-apache) win10安装
[high concurrency] interviewer
编程学习记录——第6课【函数】
关于druid连接不上数据库的问题
Speech and Language Processing (3rd ed. draft) Chapter 2 ——正则表达式,文本归一化,编辑距离 阅读笔记
模型的推理速度
1. Introduction to pytorch
What tools are needed to make video post effects?
制作视频后期特效需要什么工具?
Matlab 画图(超详细)
11. Gradient derivation of perceptron
10. Gradient, activation function and loss
谈谈为何需要将类的成员函数声明为private
Day 2. Depressive symptoms, post-traumatic stress symptoms and suicide risk among graduate students
韦东山 数码相框 项目学习(四)简易的TXT文档显示器(电纸书)









