定义一个宏,实现对数据a的第n位置位、清零、取反
今天去面试,被问到写一个宏,实现对一个数据的第n位取反的问题,当时蒙了没做出来,现在对数据的第n位置位、清零、取反进行总结一下
置位操作:
#define M1(a,n) (a|(1<<n))
清零操作:
#define M2(a,n) (a&~(1<<n))
取反操作:
#define M3(a,n) (a^(1<<n))
如果a、b两个值不相同,则异或结果为1。如果a、b两个值相同,异或结果为0。
#define a 0xfff0
#define n 3
#define M1(a,n) (a|(1<<n))
#define M2(a,n) (a&~(1<<n))
#define M3(a,n) (a^(1<<n))
void main()
{
printf("M1(a,n)=%x\n",M1(a,n));
printf("M2(a,n)=%x\n",M2(a,n));
printf("M3(a,n)=%x\n",M3(a,n));
}
还问了一个问题是一个数组比不知道它的数据类型,计算数组的长度
我写的是:len = sizeof(array)/sizeof(array[0]);
定义一个宏,实现对数据a的第n位置位、清零、取反相关推荐
- ACMNO.35 C语言-宏润年 给年份year,定义一个宏,以判别该年份是否闰年。提示:宏名可以定义为LEAP_YEAR,形参为y,既定义宏的形式为 #define LEAP_YEAR(y)
题目描述: 给年份year,定义一个宏,以判别该年份是否闰年. 提示:宏名可以定义为LEAP_YEAR,形参为y, 既定义宏的形式为 #define LEAP_YEAR(y) (读者设计的字符串) 输 ...
- 编写一个头文件,头文件中定义一个宏cube(x)用于求一个数的平方
<程序设计基础实训指导教程-c语言> ISBN 978-7-03-032846-5 p145 7.1.2 上级实训内容 [实现内容17]编写一个头文件,头文件中定义一个宏cube(x)用于 ...
- 给年份year,定义一个宏,以判别该年份是否闰年。提示:宏名可以定义为LEAP_YEAR,形参为y,既定义宏的形式为 #define LEAP_YEAR(y) (读者设计的字符串)
题目描述 给年份year,定义一个宏,以判别该年份是否闰年.提示:宏名可以定义为LEAP_YEAR,形参为y,既定义宏的形式为 #define LEAP_YEAR(y) (读者设计的字符串) 输入 一 ...
- 在C++里边定义一个宏,最多可以包含几层?
在C++里边定义一个宏,最多可以包含几层? 最近碰到的一个问题,由于程序中定义了好多宏,并且都是嵌套的,类似于a=>b=>c=>d的结构,前后定义了一百个宏,编译的时候发现,如果不对 ...
- 伪指令-宏定义:使用#define定义一个宏,宏体中包含命名空间信息导致vs大量报红,但编译和运行却正常
宏定义:使用#define伪指令定义一个宏 宏体中包含命名空间信息导致vs大量报红,但编译和运行却正常 宏分为不带参数的宏和带参数的宏. 在带参数的宏中,关键字#define后面出现的第一个连续字符序 ...
- 写一个宏,可以将一个整数字的奇数位和偶数位交换
写一个宏,可以将一个整数字的奇数位和偶数位交换 1.过程 2.预处理 3.宏和函数 4.交换奇偶位 1.过程 (1)组成一个程序的每个源文件通过编译过程分别转换成目标代码 (2)每个目标文件由链接器捆 ...
- 每日一题(27)—— define定义一个宏表明1年中有多少秒
用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题) 分析: 1.#define 语法的基本知识(例如:不能以分号结束,括号的使用,等等) 2.懂得预处理器将为你计算常数 ...
- define定义一个宏表明1年中有多少秒
原文链接 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题) 分析: 1.#define 语法的基本知识(例如:不能以分号结束,括号的使用,等等) 2.懂得预处理器将为 ...
- 定义一个宏,比较两个数a、b的大小,不能使用大于、小于、if语句
方法1: 原理:若a>b,则(a-b)的结果为正数,正数的最高位为0:反之为负数,负数的最高位为1 #define MAX1(a,b) (((((a)-(b))&0x80000000)) ...
最新文章
- ENC28j60以太网芯片驱动程序简介
- scrum敏捷开发工具实践分享
- 消息模式Toast.makeText的几种常见用法
- IIS支持http协议的:put、delete等方法
- angular2 学习二 最简单的模板
- python urlretrieve 管道_Python基础之 urllib模块urlopen()与urlretrieve()的使用方法详解。...
- BigDecimal类setScale方法问题:算数异常,精确度丢失-ArithmeticException: Rounding necessary
- mysql读写分离和分布式_MySQL主从复制与读写分离
- windows 系统监视器_使用Windows 7中的可靠性监视器对计算机问题进行故障排除
- Box2D教程5-碰撞检测
- cmd命令不识别exp_sqlplus、exp、imp不是内部或外部命令,也不是可运行的程序
- 86版五笔-字根速记
- 应聘总经理的答卷,供大家打分
- 使用BoundsChecker查找内存泄露
- 蕾辈使匚冉吃勘刚莱涨坟怪
- 忆2011年的秋天:一个人的项目
- Android 存储文件或者创建文件夹报open failed: ENOENT (No such file or directory)
- 不同类型的电机的工作原理和控制方法汇总
- 新手值得一看!MacOS中Dock栏的设置和使用技巧
- Netkiller Spring 手札之前言