文章目录
岗位:硬件开发工程师(嵌入式系统软件开发方向)
题型:20 道单选题,2 道编程题题
1、单选题
1.1
C 语言中,如果输入整数 v 是 2 的幂,下面表达式中哪个会返回 true (A)
(v & (v-1)) == 0;
(v | (v + 1)) == 0;
(-v & (v-1)) == 0;
(v | (v-1)) == 0;
1.2
在 Linux 字符设备开发中,位操作也是很常用的操作,Linux 内核也提供了一系列的原子位操作 API 函数,下列关于原子位操作的描述,错误的是 (B)
- 内核
test_and_set_bit(int nr,void *p)
函数将 p 地址的第 nr 位置1,并且返回 nr 位原来的值 - 原子位操作