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. mysql can_***MySQL错误:Can't connect to MySQL server (10060)
  2. 华大 MCU 之六 SEGGER Embedded Studio 及 Ozone 使用 Jlink 调试
  3. Java 中的四种引用
  4. 使用Eclipse Hibernate插件逐步为POJO域Java类和hbm自动生成代码
  5. rabbitmq实战_RabbitMQ实战(四) - RabbitMQ amp; Spring整合开发
  6. 星露谷物语json_《星露谷物语》1.5版本更新细节公开 已上线PC
  7. xcode4 引入poco库
  8. 【滤波器】基于matlab GUI分数延迟滤波器设计【含Matlab源码 1347期】
  9. 函数的基本知识点总结(附实例)
  10. 乌班图服务器系统升级,快速从Ubuntu 20.10升级到Ubuntu 21.04的方法
  11. 小红伞 for 2003
  12. 一个用于创建JSON接口的网站 http://myjson.com/api
  13. javascript测试题和参考答案----试题源自牛客网
  14. 学习Java需要掌握哪些知识,初学者必备
  15. 拾叶集 文/江湖一剑客
  16. 如何从零开始建立起一个公司的运维体系?
  17. TP6 workman安装踩坑
  18. Python计算身体质量指数BMI
  19. 至少12亿元收支差,分析运营商7大数据产品应用
  20. linux终端设置es副本数,elasticsearch之修改shards数

热门文章

  1. 汉唐归来博客新地址,汉唐归来博客内容移入到红德智库
  2. 即兴演讲的“三定”和“四思”、“五借”技巧
  3. C. Ehab and Prefix MEXs(构造)
  4. RHCE8.0-基于https协议搭建网站
  5. 帆软报表跨域之跨域登录
  6. 2022-2028全球与中国智慧灯杆市场现状及未来发展趋势
  7. 云之家群组机器人如何定时自动发消息?
  8. 计算机网络技术在高校的应用,浅谈计算机网络技术在高校教学管理中的应用
  9. 讯飞语音转文字_科大讯飞发布新一代语音转文字录音笔,开启个人高效记录时代...
  10. android电子书App、自定义图表、仿腾讯漫画App、仿淘宝优惠券、3D选择容器等源码