如何使用C设置位并打印所有位数

时间:2018-02-11 10:36:56

标签: c bit-manipulation bit bit-shift

我有以下功能来打印位:

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?

设置位并打印所有位数

0 个答案:

没有答案