取位方法
一个int型的数占用4个字节,每个字节有8位那么如何将每一位的数字(0或1)取出呢?
#include <stdio.h>
#include <conio.h>
int main(void)
{
int n, i, mask = 1 << 15; /* 右边空出位补0 */
/* mask左移15位右边将会出现15个0,即1000000000000000*/
printf("Enter n: ");
scanf("%d", &n);
for (i = 1; i <= 16; i++)
{
putchar( n & mask ? '1' : '0');
n <<= 1;
if (i % 8 == 0)
{
putchar(' ');
}
}
getch();
return 0;
}