我想打印一个二进制表示int.我的解决方案似乎对工作都int和unsigned int在Visual Studio中,但有人告诉我,这是错误的.有人看到错误吗?如果是这样,为什么我的程序似乎对我有用?
void printbin(int n)
{
unsigned int i = 1<<31;
for (int j=0; j<32; j++)
{
if ((n & i) != 0)
printf("1");
else
printf("0");
i = i>>1;
}
printf("\n");
}
Run Code Online (Sandbox Code Playgroud)