下面的代码显示所有 0。我不明白。它必须根据我的逻辑正确显示。我错过了什么?
#include <stdio.h>
void displayInBıtFormat(int);
int i, value;
int main(void){
puts("Enter an integer");
scanf("%d",&value);
printf("\n%d's bit representation is: ",value);
displayInBıtFormat(value);
getch();
}
void displayInBıtFormat(int val){
int mask=1<<15;
for (i = 0; i < 16; i++)
{
if (val&mask==1)
{
printf("1");
}
else
{
printf("0");
}
if ((i+1)%8==0)
{
printf(" ");
}
val<<1;
}
}