栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

编程学习记录——第9课【操作符】

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

编程学习记录——第9课【操作符】

位操作符

移位操作符在不赋值的条件下不会改变被移位对象的值。

左移操作符

操作规则:左位丢弃,右位补零。例如 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);
}
其他操作符

逻辑与操作符&&以及逻辑或操作符||

逻辑与:当全部为真时,才为真,当一个为假,便为假。逻辑或:当一个为真时,便为真,当全部为假时,才为假。

逗号表达式,从左向右依次执行。整个表达式的结果是最后一个表达式的结果。
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/718152.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号