C语言位操作中指定的某一位数置0、置1、取反
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、取反相关推荐
- c语言置字节某一位为0,C语言位操作中指定的某一位数置0、置1、取反
C语言位操作中指定的某一位数置0.置1.取反 一.指定的某一位数置1 宏 #define setbit(x,y) x|=(1< 二.指定的某一位数置0 宏 #define clrbit(x, ...
- 【STM32】位操作、按位与、按位或、按位异或、取反、左移、右移等基础 C 语言知识补充
文章目录 1 位操作 1.1 按位与 1.2 按位或 1.3 按位异或 1.4 取反 1.5 左移 1.6 右移 2 单片机中常用操作 2.1 不改变其他位时,对某几个位设定值 2.2 移位操作提高代 ...
- php抓取%3ctr%3e中指定的数据,程氏舞曲CMSPHP3.0 储存型xss getshell
Author:roker 这个cms 以前 90有人发了个getshell,当时 是后台验证文件的问题 官网已经修补了,所以重新下了源码 因为 后台登入 还需要认证码 所以 注入就没看了. 存在 xs ...
- 位操作:置1、置0、取反、取值--SetBit ResetBit Reversebit GetBit
#define setbit(x,y) x|=(1<<y) // 位置1 #define clrbit(x,y) x&=~(1<<y) // 位置0 #define r ...
- C语言中 原码、反码、补码 以及 取反(单目操作符 ~ )
欢迎大家评论区中指正呀,谢谢大家啦 文章目录 前言:必备知识 一.原码.反码.补码 1.原码 2.反码 3.补码 二.取反 (单目操作符 ~ ) 1.数值8 2.数值-8 三.负整数 的 原码.反码. ...
- 中安OCR文字识别系统V5.0 ——OCR文字识别开发包SDK
一.中安OCR文字识别系统V5.0简介 中安OCR文字识别系统V5.0是一种光学字符识别(OCR)软件开发包(OCR SDK):中安OCR文字识别系统V5.0为软件开发人员.系统集成商.数据加工商(B ...
- C语言~取反关键字//~1不是0
先上码 #include <bits/stdc++.h> using namespace std;int main() {char ch = 0;while(~scanf("%c ...
- java 取反 值_java编程 按位取反的问题 java中取反操作是正数
这个问题涉及到计算机内部的编码. 对于整数,计算机内部用最高位表示符号位,0表示为正,1表示为负. 对于负数,为了便于计算,计算机用补码来表示其值. 已经一个数的补码,要知道其值分两种情况: 1:符号 ...
- 编译器构造c语言描述pdf,关于编译器构造:为什么每次都要在C中指定数据类型?...
从下面的代码片段中可以看到,我声明了一个char变量和一个int变量. 编译代码时,它必须标识变量str和i的数据类型. 为什么在扫描变量期间需要通过将%s或%d指定为scanf来再次告诉它是字符串还 ...
最新文章
- mysql can_***MySQL错误:Can't connect to MySQL server (10060)
- 华大 MCU 之六 SEGGER Embedded Studio 及 Ozone 使用 Jlink 调试
- Java 中的四种引用
- 使用Eclipse Hibernate插件逐步为POJO域Java类和hbm自动生成代码
- rabbitmq实战_RabbitMQ实战(四) - RabbitMQ amp; Spring整合开发
- 星露谷物语json_《星露谷物语》1.5版本更新细节公开 已上线PC
- xcode4 引入poco库
- 【滤波器】基于matlab GUI分数延迟滤波器设计【含Matlab源码 1347期】
- 函数的基本知识点总结(附实例)
- 乌班图服务器系统升级,快速从Ubuntu 20.10升级到Ubuntu 21.04的方法
- 小红伞 for 2003
- 一个用于创建JSON接口的网站 http://myjson.com/api
- javascript测试题和参考答案----试题源自牛客网
- 学习Java需要掌握哪些知识,初学者必备
- 拾叶集 文/江湖一剑客
- 如何从零开始建立起一个公司的运维体系?
- TP6 workman安装踩坑
- Python计算身体质量指数BMI
- 至少12亿元收支差,分析运营商7大数据产品应用
- linux终端设置es副本数,elasticsearch之修改shards数
热门文章
- 汉唐归来博客新地址,汉唐归来博客内容移入到红德智库
- 即兴演讲的“三定”和“四思”、“五借”技巧
- C. Ehab and Prefix MEXs(构造)
- RHCE8.0-基于https协议搭建网站
- 帆软报表跨域之跨域登录
- 2022-2028全球与中国智慧灯杆市场现状及未来发展趋势
- 云之家群组机器人如何定时自动发消息?
- 计算机网络技术在高校的应用,浅谈计算机网络技术在高校教学管理中的应用
- 讯飞语音转文字_科大讯飞发布新一代语音转文字录音笔,开启个人高效记录时代...
- android电子书App、自定义图表、仿腾讯漫画App、仿淘宝优惠券、3D选择容器等源码