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来再次告诉它是字符串还 ...
最新文章
- 2021年大数据Flink(八):Flink入门案例
- 解决电脑没有任何图标问题(以及没有底部的任务栏)
- 基于face_recognition 人脸识别系统安装实现说明书
- [CTF][Web][PHP][JavaScript]弱类型问题
- Linux IO 多路复用是什么意思?
- easyui加载后台数据 笔记
- ajax出错并返回整个页面html的问题,【提问】ajax请求返回整个html页面
- 破译密码、设计飞机和建设团队:Randy Shoup谈高绩效团队
- 【路径规划】基于matlab改进的蚁群算法路径规划【含Matlab源码 335期】
- 谷歌浏览器下载离线安装包
- 第八届全国噪声与振动控制工程学术会议大会报告
- 小鑫的算法之路:leetcode0704 二分查找
- 记录HRegNet工程的环境配置问题
- Win系统 - Windows10 该内存不能为 read
- 华夏幸福转让平安资管5.69%股份,价款合计42.03亿
- 线性代数考研笔记(一)
- MySQL数据库之——初识MySQL
- Web前后端缓存技术
- 页面首次打开弹出提示,以后不再弹出
- IPC网络高清摄像机基础知识2(安霸半导体公司产品介绍 “来自2016年”)
热门文章
- 对残差神经网络,resnet的理解
- No-sql课程学习
- uniapp离线打包apk - 安卓篇
- Spark Standalone单机模式环境搭建
- 字段包括id、mmsi、longitude、latitude的csv导入pgadmin4并使用postgis去分析的具体步骤...
- 如何解决Photoshop崩溃的问题?
- 李玉婷MYSQL进阶02:条件查询
- Navi.Soft31.产品.登录器(永久免费)
- 若依 ruoyi 修改默认布局设置:主题风格设置 主题颜色 系统布局配置 开启 TopNav 开启 Tags-Views 固定 Header 显示 Logo动态标题 等
- (-):wav文件转化为txt文件