文章目录

  • 1、自定义的二进制输出函数dectobin
  • 2、获取视频教程
  • 3、版权声明

C语言中,整数都是以二进制的形式存放在内存中,所谓的二进制、八进制、十进制和十六进制只是输出显示方式的不同。

下表是各种进制整数的输出格式。

细心的读者可能会发现,上表中没有二进制的输出格式,不能使用 printf函数输出二进制数。您可以编写函数把其它进制数字转换成二进制数字,并保存在字符串中,然后在printf 函数中使用%s输出。

1、自定义的二进制输出函数dectobin

思路:

1)把十进数除以2,记下余数(余数保存在字符串中),现用商除以2,再记下余数,如此循环,直到商为0。

2)把保存余数的字符串反过来,就是结果。

例如123转化成二进制:

123/2=61余1

61/2=30余1

30/2=15余0

15/2=7余1

7/2=3余1

3/2=1余1

1/1=0余1

结果是1101111,反过来就是1111011。

示例:

/** 程序名:book.c,此程序用于把十进制转换为二进制的字符串。* 作者:C语言技术网(www.freecplus.net) 日期:20190525。
*/
#include "stdio.h"
#include <string.h>// 把十进制整数转换为二进制的字符串。
// dec:待转换的十进制整数。
// pbin:用于存放转换后的字符串的地址,注意,您必须保证pbin足以存放转换后的结果,否则可能会产生内存溢出。在64位操作系统中,long的最大取值为2的64次方,所以,pbin最大不必超过65。
void dectobin(const long dec,char *pbin)
{long ys=0;  // 余数。int s=dec;  // 商。int ii=0;   // 位数的计数器。char result[65];  // 十进制转换成二进制后,保存在result中,再反过来存放到pbin中。memset(result,0,sizeof(result));// 把十进制转换为二进制,存放在result中。while (s>0){ys=s%2;s=s/2;result[ii]=ys+'0';ii++;}// 再把result字符串反过来,存放在pbin中。int jj=0;for (;ii>0;ii--){pbin[jj]=result[ii-1];jj++;}pbin[jj]=0; // 出于安全的考虑,加上0表示字符串结束。
}int main()
{int ii=0;printf("请输入一个整数:");  scanf("%d",&ii);char str[65];dectobin(ii,str);printf("%d的二进制输出是:%s\n",ii,str);
}

2、获取视频教程

百万年薪程序员录制,《C/C++高性能服务开发基础》视频教程已在CSDN学院发布,优惠价12元,地址如下:
https://edu.csdn.net/course/play/29402

3、版权声明

C语言技术网原创文章,转载请说明文章的来源、作者和原文的链接。

来源:C语言技术网(www.freecplus.net)

作者:码农有道

如果这篇文章对您有帮助,请点赞支持,或在您的博客中转发此文,让更多的人可以看到它,谢谢!!!

C语言把十进制转换为二进制数的方法和示例相关推荐

  1. C语言把浮点数转换为二进制数的方法和示例

    文章目录 1.整数部分转二进制字符串的方法 2.小数部分转二进制字符串的方法 3.示例程序 4.获取视频教程 5.版权声明 浮点数据转换为二进制的方法是: 1)把浮点数拆分成两部分,小数点前面的整数和 ...

  2. C语言把字符转换为整数的方法和示例

    文章目录 1.程序要求 2.实现思路 3.获取视频教程 4.版权声明 1.程序要求 把字符'0'转换为数字的0: 把字符'1'转换为数字的1: - 把字符'9'转换为数字的9. 2.实现思路 字符的本 ...

  3. C语言中将数字转换为字符串的方法

    C语言提供了几个标准库函数,可以将任意类型(整型.长整型.浮点型等)的数字转换为字符串.以下是用itoa()函数将整数转换为字符串的一个例子: # include <stdio. h> # ...

  4. C语言极坐标转直角坐标,C语言实现直角坐标转换为极坐标的方法

    本文实例讲述了C语言实现直角坐标转换为极坐标的方法.分享给大家供大家参考,具体如下: #include #include struct complex_s{ double x,y; }; double ...

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

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

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

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

  7. C语言二进制与十进制互相转换的方法和示例

    文章目录 1.十进制转二进制字符串的思路 2.二进制字符串转十进制的思路 3.示例代码 4.获取视频教程 5.版权声明 在实际开发中,我们可以用0和1的字符串来表达信息,例如某设备有八个传感器,每个传 ...

  8. C语言:十进制转换为二进制的数学方法

    首先我们需要厘清逻辑:十进制如何转换为二进制 我们采用的方法--短除法 以十进制数字10为例 我们的目的是将该十进制的数字转换为二进制的数字 纯数学的方法如下: 10÷2=5余0 5÷2=2余1 2÷ ...

  9. C语言中将数字转换为字符串的方法(转自c语言中文网)

    C语言提供了几个标准库函数,可以将任意类型(整型.长整型.浮点型等)的数字转换为字符串.以下是用itoa()函数将整数转换为字符串的一个例子: # include <stdio. h> # ...

  10. linux 把数字变字符串,C语言中将数字转换为字符串的方法

    C语言提供了几个标准库函数,可以将字符串转换为任意类型(整型.长整型.浮点型等)的数字.以下是用atoi()函数将字符串转换为整数的一个例子: # include # include void mai ...

最新文章

  1. cmake 头文件 库文件 路径搜索 CMAKE_INCLUDE_PATH CMAKE_LIBRARY_PATH
  2. Python的seaborn库(图比较炫)
  3. oneproxy检测主从复制同步延迟
  4. .NET Core 中使用 Humanizer 显示友好时间格式
  5. dom4j-2.1.1 jaxen-1.1.6 读取xml数据源
  6. Timer定时器控件 1130
  7. linux新建自定义命令,Linux 创建自定义命令
  8. 分类算法 -- 决策树ID3算法
  9. HTML字体转为大写,css字体属性和英文大小写转换
  10. Unity 网格合并MeshBaker(一)
  11. brew install速度过慢
  12. 自定义Exception类
  13. (一)mysql 运维基础篇(Linux云计算从入门到精通)
  14. 股票投资 - 如何看懂集合竞价
  15. Python matplotpy颜色表(python画图常用颜色)
  16. 【Alpha】Scrum Meeting 5
  17. 计算机科学与技术显卡要求,准大一新生,遥感科学与技术专业,对电脑有什么要求?...
  18. 那些优秀的软件架构图,都是怎么画的?
  19. 给媳妇做一个记录心情的小程序
  20. 思科曹图强:勒索软件将打破安全防御平衡

热门文章

  1. 麒麟服务器操作系统V10虚拟机安装
  2. python中写公式_使用Python书写的公式编辑器
  3. java 将海外时区转换为北京时区
  4. 计算机黑屏时间,电脑开机黑屏时间长怎么办?Win10开机黑屏时间很久的解决方法...
  5. list中抽出某一个字段的值_Java 将List中所有item中的某一个字段值提出来生成一个新的List...
  6. 【Web安全笔记】之【9.0 工具与资源】
  7. java 正则 中文_Java使用正则表达式(regex)匹配中文实例代码
  8. 什么是USBHOST、USB Slave和USB OTG?它们之间有什么区别 USB、MiniUSB、MicroUSB
  9. xcb basics
  10. php版本微信公众号开发