C语言位操作中指定的某一位数置0、置1、取反

一、指定的某一位数置1

宏 #define setbit(x,y)  x|=(1<<y)

二、指定的某一位数置0

宏  #define clrbit(x,y)  x&=~(1<<y)

三、指定的某一位数取反

宏  #define reversebit(x,y)  x^=(1<<y)

三、获取的某一位的值

         宏 #define getbit(x,y)   ((x) >> (y)&1)

四、C++测试代码:

#include <iostream>
#include "stdio.h"
#include <stdlib.h>
using namespace std;
#define setbit(x,y)  x|=(1<<y)
#define clrbit(x,y)  x&=~(1<<y)
#define reversebit(x,y)  x^=(1<<y)
#define getbit(x,y)   ((x) >> (y)&1)
int main()
{   unsigned int m=0x0f0ff0f0;  printf("original m=0x%x\n",m);  reversebit(m,7);  printf("reversebit 7 bit,then m=0x%x\n",m);  setbit(m,7);  printf("setbit 7  bit,then m=0x%x\n",m);  clrbit(m,7);  printf("clrbit 7 bit,then m=0x%x\n",m);  for(int i=0;i<sizeof(m)*8;i++){  printf("bit[%d]=%d\n",i,getbit(m,i));  }return 0;
}  

五、测试运行结果:


C语言位操作中指定的某一位数置0、置1、取反相关推荐

  1. c语言置字节某一位为0,C语言位操作中指定的某一位数置0、置1、取反

    C语言位操作中指定的某一位数置0.置1.取反 一.指定的某一位数置1 宏 #define setbit(x,y)  x|=(1< 二.指定的某一位数置0 宏  #define clrbit(x, ...

  2. 【STM32】位操作、按位与、按位或、按位异或、取反、左移、右移等基础 C 语言知识补充

    文章目录 1 位操作 1.1 按位与 1.2 按位或 1.3 按位异或 1.4 取反 1.5 左移 1.6 右移 2 单片机中常用操作 2.1 不改变其他位时,对某几个位设定值 2.2 移位操作提高代 ...

  3. php抓取%3ctr%3e中指定的数据,程氏舞曲CMSPHP3.0 储存型xss getshell

    Author:roker 这个cms 以前 90有人发了个getshell,当时 是后台验证文件的问题 官网已经修补了,所以重新下了源码 因为 后台登入 还需要认证码 所以 注入就没看了. 存在 xs ...

  4. 位操作:置1、置0、取反、取值--SetBit ResetBit Reversebit GetBit

    #define setbit(x,y) x|=(1<<y) // 位置1 #define clrbit(x,y) x&=~(1<<y) // 位置0 #define r ...

  5. C语言中 原码、反码、补码 以及 取反(单目操作符 ~ )

    欢迎大家评论区中指正呀,谢谢大家啦 文章目录 前言:必备知识 一.原码.反码.补码 1.原码 2.反码 3.补码 二.取反 (单目操作符 ~ ) 1.数值8 2.数值-8 三.负整数 的 原码.反码. ...

  6. 中安OCR文字识别系统V5.0 ——OCR文字识别开发包SDK

    一.中安OCR文字识别系统V5.0简介 中安OCR文字识别系统V5.0是一种光学字符识别(OCR)软件开发包(OCR SDK):中安OCR文字识别系统V5.0为软件开发人员.系统集成商.数据加工商(B ...

  7. C语言~取反关键字//~1不是0

    先上码 #include <bits/stdc++.h> using namespace std;int main() {char ch = 0;while(~scanf("%c ...

  8. java 取反 值_java编程 按位取反的问题 java中取反操作是正数

    这个问题涉及到计算机内部的编码. 对于整数,计算机内部用最高位表示符号位,0表示为正,1表示为负. 对于负数,为了便于计算,计算机用补码来表示其值. 已经一个数的补码,要知道其值分两种情况: 1:符号 ...

  9. 编译器构造c语言描述pdf,关于编译器构造:为什么每次都要在C中指定数据类型?...

    从下面的代码片段中可以看到,我声明了一个char变量和一个int变量. 编译代码时,它必须标识变量str和i的数据类型. 为什么在扫描变量期间需要通过将%s或%d指定为scanf来再次告诉它是字符串还 ...

最新文章

  1. 2021年大数据Flink(八):Flink入门案例
  2. 解决电脑没有任何图标问题(以及没有底部的任务栏)
  3. 基于face_recognition 人脸识别系统安装实现说明书
  4. [CTF][Web][PHP][JavaScript]弱类型问题
  5. Linux IO 多路复用是什么意思?
  6. easyui加载后台数据 笔记
  7. ajax出错并返回整个页面html的问题,【提问】ajax请求返回整个html页面
  8. 破译密码、设计飞机和建设团队:Randy Shoup谈高绩效团队
  9. 【路径规划】基于matlab改进的蚁群算法路径规划【含Matlab源码 335期】
  10. 谷歌浏览器下载离线安装包
  11. 第八届全国噪声与振动控制工程学术会议大会报告
  12. 小鑫的算法之路:leetcode0704 二分查找
  13. 记录HRegNet工程的环境配置问题
  14. Win系统 - Windows10 该内存不能为 read
  15. 华夏幸福转让平安资管5.69%股份,价款合计42.03亿
  16. 线性代数考研笔记(一)
  17. MySQL数据库之——初识MySQL
  18. Web前后端缓存技术
  19. 页面首次打开弹出提示,以后不再弹出
  20. IPC网络高清摄像机基础知识2(安霸半导体公司产品介绍 “来自2016年”)

热门文章

  1. 对残差神经网络,resnet的理解
  2. No-sql课程学习
  3. uniapp离线打包apk - 安卓篇
  4. Spark Standalone单机模式环境搭建
  5. 字段包括id、mmsi、longitude、latitude的csv导入pgadmin4并使用postgis去分析的具体步骤...
  6. 如何解决Photoshop崩溃的问题?
  7. 李玉婷MYSQL进阶02:条件查询
  8. Navi.Soft31.产品.登录器(永久免费)
  9. 若依 ruoyi 修改默认布局设置:主题风格设置 主题颜色 系统布局配置 开启 TopNav 开启 Tags-Views 固定 Header 显示 Logo动态标题 等
  10. (-):wav文件转化为txt文件