搜索
查看: 832|回复: 2
打印 上一主题 下一主题

进制数转换,怎么写

[复制链接]
跳转到指定楼层
楼主
发表于 2013-12-16 00:38:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
5啊哈币
进制数转换,怎么写啊?小弟我初学C,还有很多不懂

要求是输入一个10进制数,然后它列出它的2进制8进制16进制

最佳答案

沙发
发表于 2013-12-16 00:38:41 | 只看该作者
本帖最后由 河蟹 于 2013-12-16 01:18 编辑
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int main()
  4. {
  5.         int Num,i,j,m;
  6.     int Binary[16] = {0};        //定义二进制存储数组,并初始化为0
  7.     //clrscr();     //清屏,只能在TC当中使用,可忽略
  8.     printf ( "十进制转二、八、十六进制程序\n请输入十进制数(0~32767):" );
  9.     scanf ( "%d",&Num );
  10.     printf ( "转换十六进制数为:%X \n",Num );
  11.     printf ( "转换八进制数为:%o \n",Num );
  12.     for (m = 0; m < 15; m++)   //for循环从0~14,最高位为符号位,本例始终为0
  13.      {
  14.        i = Num%2;   //取2的余数
  15.        j = Num/2;   //取被2整除的结果
  16.        Num = j ;     //将整除结果赋给所要转换的变量
  17.        Binary[m] = i;    //将每次的余数存入数组中
  18.      }
  19.      printf("转换二进制数为:");
  20.      for (m = 15; m >= 0; m--)
  21.       {
  22.         printf("%d",Binary[m]);   //for循环,将数组中的16个元素从后往前输出
  23.         if (m%4 == 0)//每4个数空一格
  24.         printf(" ");
  25.       }
  26.       printf("\n");
  27.         system("pause");
  28.         return 0;
  29. }

复制代码
板凳
发表于 2013-12-16 12:43:30 | 只看该作者
河蟹 发表于 2013-12-16 01:16

没必要加那个16位的限制的
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表