C语言输入一个bit数字和字节数字按bit数遍历字节数组
以下是一个示例程序,可以实现输入一个bit数字和字节数字,按bit数遍历字节数组:
#include <stdio.h>
#include <stdlib.h>
int main()
{
unsigned char byte;
int num_bits;
printf("Enter a bit number (0-7): ");
scanf("%d", &num_bits);
printf("Enter a byte number (0-255): ");
scanf("%hhu", &byte);
int i;
for(i = 7; i >= 0; i--) {
if(i == num_bits) {
printf("%d ", (byte >> i) & 1);
} else {
printf(". ");
}
}
printf(" (%hhu)\n", byte);
return 0;
}
运行程序后,会提示用户输入一个bit数字和字节数字。程序使用scanf函数读取输入,并使用循环遍历字节数组的每个bit位。如果当前位是用户输入的bit数,就打印该位的值;否则,打印一个点表示该位不是用户输入的bit数。最后,程序还会打印出整个字节数组的十进制值。
例如,如果用户输入bit数字为3,字节数字为170,程序输出如下:
Enter a bit number (0-7): 3
Enter a byte number (0-255): 170
. . . 1 . . . (170)
``
原文地址: https://www.cveoy.top/t/topic/cPrk 著作权归作者所有。请勿转载和采集!