写一段c代码并有测试用例,根据起始bit和结束bit,计算掩码,并
时间: 2023-03-25 11:02:42 浏览: 114
将掩码应用于给定的整数。
C代码:
#include <stdio.h>
unsigned int apply_mask(unsigned int num, int start_bit, int end_bit) {
unsigned int mask = ;
for (int i = start_bit; i <= end_bit; i++) {
mask |= 1 << i;
}
return num & mask;
}
int main() {
unsigned int num = b10101010;
int start_bit = 1;
int end_bit = 4;
unsigned int masked_num = apply_mask(num, start_bit, end_bit);
printf("Original number: %u\n", num);
printf("Masked number: %u\n", masked_num);
return ;
}
测试用例:
输入:num = 170 (b10101010), start_bit = 1, end_bit = 4
输出:masked_num = 162 (b10100010)
输入:num = 255 (b11111111), start_bit = , end_bit = 7
输出:masked_num = 255 (b11111111)
输入:num = (b00000000), start_bit = 2, end_bit = 5
输出:masked_num = (b00000000)