我有以下功能来打印位:
void printBits(unsigned int num)
{
for(int bit=0;bit<(sizeof(unsigned int) * 8); bit++)
{
printf("%i ", num & 0x01);
num = num >> 1;
}
}
我希望将第5位设置如下:
unsigned int DataInMemory = 0x00000000;
DataInMemory |= (1<<5);
printBites函数的结果是:
0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
这意味着1 << 5
将第6位设置为第5位。位编码(索引)与编程命名中的位是否有区别?
如何使用C?