当前位置: 首页 > news >正文

C语言——经典200道实例(51-55)

51.学习使用按位与 &

程序分析:0&0=0; 0&1=0; 1&0=0; 1&1=1 。 

#include <stdio.h>
int main()
{
    int a,b;
    a=077;
    b=a&3;
    printf("a & b(decimal) 为 %d \n",b);
    b&=7;
    printf("a & b(decimal) 为 %d \n",b);
    return 0;
}

 52.学习使用按位或 |

程序分析:0|0=0; 0|1=1; 1|0=1; 1|1=1 。 

#include<stdio.h>
int main()
{
    int a,b;
    a=077;
    b=a|3;
    printf("b 的值为 %d \n",b);
    b|=7;
    printf("b 的值为 %d \n",b);
    return 0;
}

 53.学习使用按位异或 ^

程序分析:0^0=0; 0^1=1; 1^0=1; 1^1=0 。 

#include <stdio.h>
int main()
{
    int a,b;
    a=077;
    b=a^3;
    printf("b 的值为 %d \n",b);
    b^=7;
    printf("b 的值为 %d \n",b);
    return 0;
}

 54.取一个整数 a 从右端开始的 4~7 位

程序分析:可以这样考虑:

(1)先使 a 右移 4 位。

(2)设置一个低 4 位全为 1,其余全为 0 的数,可用~(~0<<4)

(3)将上面二者进行 & 运算。

#include <stdio.h>
int main()
{
    unsigned a,b,c,d;
    printf("请输入整数:\n");
    scanf("%o",&a);
    b=a>>4;
    c=~(~0<<4);
    d=b&c;
    printf("%o\n%o\n",a,d);
    return 0;
}

 55.学习使用按位取反~

程序分析:~0=1; ~1=0; 

#include <stdio.h>
int main()
{
    int a,b;
    a=234;
    b=~a;
    printf("a 的按位取反值为(十进制) %d \n",b);
    a=~a;
    printf("a 的按位取反值为(十六进制) %x \n",a);
    return 0;
}

 

相关文章:

  • 软件测试是干什么的?为什么受就业者的欢迎?
  • SpringMVC执行流程
  • 图片的谱表征
  • 基于Vue+node的图书馆座位预约选座管理系统
  • 用DIV+CSS技术设计的凤阳旅游网站(web前端网页制作课作业)HTML+CSS+JavaScript
  • 【redis】从高并发场景下超卖问题到redis分布式锁
  • vscode安装及c++配置
  • 【Java Web项目】基于WebSocket的Web聊天室
  • Ansible自动化运维
  • 多线程【锁策略与CAS的ABA问题】
  • 清华系激光雷达公司,成了量产元年最大的黑马
  • 基于springboot的球员转会管理系统的设计与实现-计算机毕业设计源码+LW文档
  • 【Arduino与MFRC522握手】
  • 生成式对抗网络(GAN)【第六章】
  • 了解 Flutter 开发者们的 IDE 使用情况
  • “大数据应用场景”之隔壁老王(连载四)
  • 【附node操作实例】redis简明入门系列—字符串类型
  • 2018一半小结一波
  • Android路由框架AnnoRouter:使用Java接口来定义路由跳转
  • es6--symbol
  • js对象的深浅拷贝
  • LeetCode刷题——29. Divide Two Integers(Part 1靠自己)
  • linux学习笔记
  • Spring Boot MyBatis配置多种数据库
  • 产品三维模型在线预览
  • 给github项目添加CI badge
  • 盘点那些不知名却常用的 Git 操作
  • 时间复杂度与空间复杂度分析
  • 物联网链路协议
  • 限制Java线程池运行线程以及等待线程数量的策略
  • 用Python写一份独特的元宵节祝福
  • 《天龙八部3D》Unity技术方案揭秘
  • Mac 上flink的安装与启动
  • Prometheus VS InfluxDB
  • 如何用纯 CSS 创作一个菱形 loader 动画
  • ​​​​​​​GitLab 之 GitLab-Runner 安装,配置与问题汇总
  • ​【原创】基于SSM的酒店预约管理系统(酒店管理系统毕业设计)
  • ​如何使用ArcGIS Pro制作渐变河流效果
  • ​软考-高级-系统架构设计师教程(清华第2版)【第9章 软件可靠性基础知识(P320~344)-思维导图】​
  • ​字​节​一​面​
  • # Swust 12th acm 邀请赛# [ K ] 三角形判定 [题解]
  • #100天计划# 2013年9月29日
  • (2009.11版)《网络管理员考试 考前冲刺预测卷及考点解析》复习重点
  • (2024,LoRA,全量微调,低秩,强正则化,缓解遗忘,多样性)LoRA 学习更少,遗忘更少
  • (Demo分享)利用原生JavaScript-随机数-实现做一个烟花案例
  • (LNMP) How To Install Linux, nginx, MySQL, PHP
  • (过滤器)Filter和(监听器)listener
  • (三) prometheus + grafana + alertmanager 配置Redis监控
  • (生成器)yield与(迭代器)generator
  • (转)C#调用WebService 基础
  • (转)Groupon前传:从10个月的失败作品修改,1个月找到成功
  • (转)jdk与jre的区别
  • (最新)华为 2024 届秋招-硬件技术工程师-单板硬件开发—机试题—(共12套)(每套四十题)
  • .NET 常见的偏门问题
  • .NET/C# 将一个命令行参数字符串转换为命令行参数数组 args