将输入的一个无符号整数的第i位置0 或置1
时间: 2023-05-17 19:05:03 浏览: 156
计导试题2(含答案)
以下是将输入的一个无符号整数的第i位置0或置1的代码示例:
```c
#include <stdio.h>
unsigned int set_bit(unsigned int num, int i, int bit) {
if (bit) {
num |= (1 << i); // 将第i位设置为1
} else {
num &= ~(1 << i); // 将第i位设置为0
}
return num;
}
int main() {
unsigned int num;
int i, bit;
printf("请输入一个无符号整数:");
scanf("%u", &num);
printf("请输入要设置的位数i:");
scanf("%d", &i);
printf("请输入要设置的值(0或1):");
scanf("%d", &bit);
num = set_bit(num, i, bit);
printf("设置后的结果为:%u\n", num);
return 0;
}
```
当输入一个无符号整数、要设置的位数i以及要设置的值(0或1)后,该程序会将第i位设置为0或1,并输出设置后的结果。
注意:该程序没有进行输入合法性检查,实际使用时需要加上相应的检查。
阅读全文