C语言把十进制转换为二进制数的方法和示例
文章目录
- 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语言把十进制转换为二进制数的方法和示例相关推荐
- C语言把浮点数转换为二进制数的方法和示例
文章目录 1.整数部分转二进制字符串的方法 2.小数部分转二进制字符串的方法 3.示例程序 4.获取视频教程 5.版权声明 浮点数据转换为二进制的方法是: 1)把浮点数拆分成两部分,小数点前面的整数和 ...
- C语言把字符转换为整数的方法和示例
文章目录 1.程序要求 2.实现思路 3.获取视频教程 4.版权声明 1.程序要求 把字符'0'转换为数字的0: 把字符'1'转换为数字的1: - 把字符'9'转换为数字的9. 2.实现思路 字符的本 ...
- C语言中将数字转换为字符串的方法
C语言提供了几个标准库函数,可以将任意类型(整型.长整型.浮点型等)的数字转换为字符串.以下是用itoa()函数将整数转换为字符串的一个例子: # include <stdio. h> # ...
- C语言极坐标转直角坐标,C语言实现直角坐标转换为极坐标的方法
本文实例讲述了C语言实现直角坐标转换为极坐标的方法.分享给大家供大家参考,具体如下: #include #include struct complex_s{ double x,y; }; double ...
- 用C语言将十进制转换为二进制
程序代码 1将十进制转换为二进制 #include<stdio.h> /* *csdn学院--2016级 *目的:让代码见证成长(作为一个初学的菜鸟,如 *大家有发现错误,欢迎指正!) * ...
- c语言实现十进制转换为二进制
<算法与数据结构-C语言描述>,第四章栈与队列,算法题第二题. 十进制转换为二进制,采用"除二取余,逆向排序"方法.每次将num除以2的余数存储在数组中,然后逆向输出数 ...
- C语言二进制与十进制互相转换的方法和示例
文章目录 1.十进制转二进制字符串的思路 2.二进制字符串转十进制的思路 3.示例代码 4.获取视频教程 5.版权声明 在实际开发中,我们可以用0和1的字符串来表达信息,例如某设备有八个传感器,每个传 ...
- C语言:十进制转换为二进制的数学方法
首先我们需要厘清逻辑:十进制如何转换为二进制 我们采用的方法--短除法 以十进制数字10为例 我们的目的是将该十进制的数字转换为二进制的数字 纯数学的方法如下: 10÷2=5余0 5÷2=2余1 2÷ ...
- C语言中将数字转换为字符串的方法(转自c语言中文网)
C语言提供了几个标准库函数,可以将任意类型(整型.长整型.浮点型等)的数字转换为字符串.以下是用itoa()函数将整数转换为字符串的一个例子: # include <stdio. h> # ...
- linux 把数字变字符串,C语言中将数字转换为字符串的方法
C语言提供了几个标准库函数,可以将字符串转换为任意类型(整型.长整型.浮点型等)的数字.以下是用atoi()函数将字符串转换为整数的一个例子: # include # include void mai ...
最新文章
- cmake 头文件 库文件 路径搜索 CMAKE_INCLUDE_PATH CMAKE_LIBRARY_PATH
- Python的seaborn库(图比较炫)
- oneproxy检测主从复制同步延迟
- .NET Core 中使用 Humanizer 显示友好时间格式
- dom4j-2.1.1 jaxen-1.1.6 读取xml数据源
- Timer定时器控件 1130
- linux新建自定义命令,Linux 创建自定义命令
- 分类算法 -- 决策树ID3算法
- HTML字体转为大写,css字体属性和英文大小写转换
- Unity 网格合并MeshBaker(一)
- brew install速度过慢
- 自定义Exception类
- (一)mysql 运维基础篇(Linux云计算从入门到精通)
- 股票投资 - 如何看懂集合竞价
- Python matplotpy颜色表(python画图常用颜色)
- 【Alpha】Scrum Meeting 5
- 计算机科学与技术显卡要求,准大一新生,遥感科学与技术专业,对电脑有什么要求?...
- 那些优秀的软件架构图,都是怎么画的?
- 给媳妇做一个记录心情的小程序
- 思科曹图强:勒索软件将打破安全防御平衡
热门文章
- 麒麟服务器操作系统V10虚拟机安装
- python中写公式_使用Python书写的公式编辑器
- java 将海外时区转换为北京时区
- 计算机黑屏时间,电脑开机黑屏时间长怎么办?Win10开机黑屏时间很久的解决方法...
- list中抽出某一个字段的值_Java 将List中所有item中的某一个字段值提出来生成一个新的List...
- 【Web安全笔记】之【9.0 工具与资源】
- java 正则 中文_Java使用正则表达式(regex)匹配中文实例代码
- 什么是USBHOST、USB Slave和USB OTG?它们之间有什么区别 USB、MiniUSB、MicroUSB
- xcb basics
- php版本微信公众号开发