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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© cake 初级黑马   /  2015-11-6 23:09  /  2850 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

10黑马币
怎么把整数转换为二进制啊?大神求解

最佳答案

查看完整内容

int a=3; int count; count=(sizeof(int)*8-2); int temp=0; while (count>=0) { temp=a>>count&1; printf("%d",temp); if (0==count%4) printf(" "); count--; } printf("\n");

4 个回复

正序浏览
除以二取余数 ,然后倒着写上去
回复 使用道具 举报
#include <stdio.h> #include <stdlib.h>  /*           */  int main(int argc, char *argv[]) {                  int n,m,a,b;         a=0b01000000000000000000000000000000;         b=0b10000000000000000000000000000000;         while(1)         {                                         scanf("%d",&n);                                          if(b&n)                 {                         printf("1");                 }                 else                 {                         printf("0");                 }                 while(a!=0)                 {                                                         if(n&a)   //如果写成if(n&a!=0)                                  //则输出结果不对                                                   {                                 printf("1");                         }                         else                         {                         printf("0");                         }                         a=a>>1;                                 }                 printf("\n");                 a=0b01000000000000000000000000000000;         }         return 0; }
回复 使用道具 举报
呃呃呃~~~~~~~~~~
回复 使用道具 举报
    int a=3;
    int count;
    count=(sizeof(int)*8-2);
    int temp=0;
    while (count>=0) {
        temp=a>>count&1;
        printf("%d",temp);
        if (0==count%4)
            printf(" ");
        count--;
    }
    printf("\n");
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马