这个函数的代码是什么样的?对不起,我是自学和编程新手
创建一个名为 reset_bits(int value, int pos, int n) 的函数,它将位位置 pos、pos + 1、...、pos + n - 1 的 n 个连续位 value 中的每一个设置为位值 0,并且以十六进制打印结果。例如,reset_bits(0x8C3E, 2, 3) 会打印出 0x8C22,这是将 0x8C3E 的第 2、3、4 位位置设置为 0 的结果。可以假设 pos 和 n 指定的所有位位置都有效位位置。您可以使用的唯一 C 库函数是 printf()。
这是我一本关于 C 编程的书中的练习题,但我没有解决方案手册。
模板:
#include <stdio.h>
#include <limits.h>
int reset_bits(int value, int position, int n) {
int r = pos + 1;
int l = pos + n;
int range = (((0xFF << (r - 1)) - 1) ^ ((0xFF << (l) - 1));
int answer = value | range;
printf("%x", answer);
printf("\n");
}
int main() {
reset_bits(0x8C3E, 2, 3);
}