/** 文件名:二进制转换.c* 功能描述:把10进制数转换为二进制数* 编写人:王廷云
*/
#include <stdio.h>#define  NR (sizeof(int)*8)  // 二进制位的个数void deciToBin(int num);  // 十进制转换为二进制函数声明/* 主函数 */
int main(void)
{int num;fprintf(stdout, "请输入一个正整数:");/* 获取并检查用户输入 */while (1){if (fscanf(stdin, "%d", &num) != 1){fprintf(stderr, "输入错误!请重新输入:");while (getchar() != '\n'); // 去掉多余的非法字符 continue;}else if (num < 0)             // 输入的数不能为负数{fprintf(stderr, "请输入错误!请输入正整数:");continue;}elsebreak;}fprintf(stdout, "对应二进制为:");#if 1 /* 方法一: 不使用递归 */char bitArr[NR];int i = -1;/* 算法:栈的数学模型 */do {i += 1;bitArr[i] = num % 2;num /= 2;} while (num != 0);/* 逆序打印 */for (i ; i >= 0; i--){fprintf(stdout, "%d", bitArr[i]);}fputc('\n', stdout);#else /* 方法二: 使用递归 */if (num == 0){fprintf(stdout, "0\n");}else{deciToBin(num);       // 调用第归函数fputc('\n', stdout);}
#endif  return 0;
}/** @函数名:deciToBin* @函数功能:实现十进制转换为二进制* @参数:需要转换的十进制整数
*/
void deciToBin(int num)
{/* 第归结束条件 */if (num == 0){return;}/* 第归调用 */deciToBin(num/2);/* 逆序打印 */fprintf(stdout, "%d", num%2);
}

【C语言】之实现十进制转换为二进制相关推荐

  1. C语言递归算法将十进制转换为二进制(附完整源码)

    C语言递归算法将十进制转换为二进制 C语言递归算法将十进制转换为二进制完整源码 C语言递归算法将十进制转换为二进制完整源码 #include <assert.h>/*** Decimal ...

  2. 用C语言程序实现十进制转换为二进制

    题目: 写一个函数,输入一个10进制数,输出它的2进制,例如:输入9,输出1001 思路: 十进制数转换为其他进制时,转换成几进制就除以几进制求余. 代码: #include "stdio. ...

  3. c语言十进制转八进制递归,C语言之利用递归将十进制转换为二进制

    #include #include void change2(int num) { if (num != 0) { change2(num / 2); printf("%d", n ...

  4. C语言十进制转换为二进制(附完整源码)

    C语言十进制转换为二进制 C语言十进制转换为二进制完整源码 C语言十进制转换为二进制完整源码 #include <stdio.h> #include <stdlib.h>#de ...

  5. c语言实现十进制转换为二进制

    <算法与数据结构-C语言描述>,第四章栈与队列,算法题第二题. 十进制转换为二进制,采用"除二取余,逆向排序"方法.每次将num除以2的余数存储在数组中,然后逆向输出数 ...

  6. C语言十进制转换为二进制

    C语言将十进制转换为二进制. 入门级的写法,可供参考. yu:取余后的值. p:p是10的倍数.因为一般计算十进制转二进制时是除二取余逆排序法,所以需要将每一位的取余乘以p才可以加上结果变量值以达到逆 ...

  7. 用C语言将十进制转换为二进制

    程序代码 1将十进制转换为二进制 #include<stdio.h> /* *csdn学院--2016级 *目的:让代码见证成长(作为一个初学的菜鸟,如 *大家有发现错误,欢迎指正!) * ...

  8. C语言——十进制转换为二进制

    #include <stdio.h> #include <math.h> //十进制转换为二进制 long long convertDecimalToBinary(int n) ...

  9. Scala语言学习-02-实现十进制转换为二进制(Int类型数据)

    一.测试环境 名称 版本 操作系统 Red Hat Enterprise Linux Server release 7.9 (Maipo) CPU 12th Gen Intel® Core™ i7-1 ...

最新文章

  1. 2021-07-23 B站观看力扣算法视频第一天
  2. python学习之if语句
  3. 003 Android之线性布局与基础控件
  4. 【算法学习笔记】83.排序辅助 动态规划 SJTU OJ 1282 修路
  5. CodeForces - 137D Palindromes(dp+路径输出)
  6. js 报错说此方法没定义 我明明定义了
  7. 蓝牙驱动卸载后自动安装_Intel 蓝牙驱动安装教程
  8. Java FilePermission getActions()方法与示例
  9. c++ 字符串中的字符无效_13python中的字符串
  10. 路直路弯,面对挫折脚步不放慢
  11. JavaScript学习初步
  12. [热门]Android系统特质 不需要太多剩余内存
  13. Word 2019 插入参考文献
  14. ArcGIS Portal发布slpk失败,Error999999
  15. 【原文翻译】深度残差收缩网络 Deep Residual Shrinkage Networks for Fault Diagnosis
  16. 如何调节肠道菌群?常见天然物质、益生菌、益生元的介绍
  17. 搞计算机的真的不配拥有爱情吗。这是她给我留下的最后一段话
  18. arcgis 图层概念
  19. lifi与wifi的论文_WIFI研究论文()
  20. [转]兰迪.波许的最后讲座:真正实现你童年的梦想(中英文对照)4

热门文章

  1. Redis 双写一致性问题分析
  2. CMD命令——拷贝文件夹
  3. 技能篇:开发必备linux命令大全-稳赚不亏
  4. Tkinter 组件详解(一):Label
  5. [css]switch开关按钮,适用于移动端和IE9火狐谷歌
  6. Tarjan算法详解(AcWing 1174 受欢迎的牛)
  7. LovaszSoftmax损失函数(pytorch版)
  8. 远程桌面连接无法显示本地磁盘终极解决
  9. 【论文阅读】Geography-Aware Sequential Location Recommendation
  10. Google Dart新进展:Polymer代替Web UI