A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 石上波 中级黑马   /  2015-4-6 22:51  /  592 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

整体程序如下,为何我写出来以后运行发现输出位数不对呢?
#include <stdio.h>
void printBinary(int number);
int main()
{
        printBinary(15);
        return 0;

}
void printBinary(int number)
{
        int temp = sizeof(number)<<3 - 1;
        
        while(temp>=0)
        {
                int value = number>>temp & 1;
                printf("%d",value);
                temp--;

                if ((temp+1)%4 == 0)
                {
                        printf(" ");
                }
        }
        printf("\n");
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马