69,373
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
void showBit(int num,int index)
{
printf("数字%d的右边第%d位是%d\n",num,index, (num>>(index-1))&1);
};
int main(void)
{
int num;
scanf("%d",&num);
showBit(num,4);
showBit(num,5);
showBit(num,6);
showBit(num,7);
system("pause");
return 0;
}
struct t
{
unsigned a:2;
unsigned b:2;
unsigned c:2;
unsigned d:4;
unsigned f:7;
}data;
#include <stdio.h>
int binary_print(unsigned char c)
{
int i;
for ( i = 0; i < 8; ++i)
( (c << i) & 0x80 ) ? putchar('1') : putchar( '0' );
putchar(' ');
return i;
}
int main()
{
int a, i;
unsigned char c_save[4];
void *ptr;
ptr = &a;
fputs( "请输入一个整数:", stdout );
scanf( "%d", &a );
for (i = 0; i < 4; i++)
c_save[i] = *( (unsigned char*)ptr + i );
puts( "此整数在计算机内存中的按位储存格式如下:" );
for (i = 4; i != 0; i--)
binary_print( c_save[i-1] );
putchar( '\n' );
return 0;
}
int a;
a &= 0xF << 3;