0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

十进制小数怎么样才能转换为二进制

Wildesbeast 来源:今日头条 作者:算法集市 2020-02-12 16:37 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

位运算在计算机编程中经常用到,所以掌握十进制和二进制间的转换十分重要。

十进制:由 0~9 十个数字组成

二进制:由 0和1 两个数字组成

1、整数转换

十进制转二进制的原理:十进制的数除以2,直到商为0,最后反向取余数。

比如下图中的例子,十进制的13转为二进制表示,则为1101。

十进制转二进制

二进制转十进制的原理:二进制数的每一位乘以2的n次方,n 从零开始,每次加一,最后累加。

下面是将二进制的1101转为十进制的13。

二进制转十进制

2、小数转换

对于小数,二进制 转 十进制 比较简单,仍是二进制数的每一位乘以2的n次方,小数点前面的 n 从零开始,每次加一;小数点后面的 n 从-1开始,每次减一,最后累加。

小数-二进制转十进制

十进制 转 二进制 相对麻烦些,用2乘十进制小数,可以得到积,将积的整数部分取出,再用2乘余下的小数部分,又得到一个积,再将积的整数部分取出,如此进行,直到积中的小数部分为0,整数部分为1,此时1为二进制的最后一位。

下图是将十进制的0.625转换为二进制表示的0.101。

小数-十进制转二进制

不过,不是所有的十进制小数都恰好能用二进制精确表示。比如十进制的0.3转化为用二进制表示,如下图所示。若用小数点后六位来表示,则只能近似为0.296875。

小数-十进制转二进制

从上面的例子可以看出,二进制小数点后面的位数越多,则能表示的小数点后面的有效数字越多。

C语言中浮点型一般分为 float 单精度型(4个字节)和 double 双精度型(8个字节),单精度浮点型小数点后面有效数字为6位,双精度浮点型小数点后面有效数字为15位。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 二进制
    +关注

    关注

    2

    文章

    809

    浏览量

    42799
  • 计算机
    +关注

    关注

    19

    文章

    7764

    浏览量

    92694
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    如何在vivado上基于二进制码对指令运行状态进行判断

    a0 -8 为例 获取相应的二进制码将其转换为16进制导入vivado,方法就是将代码文件修改为.verilog文件并存入蜂鸟的tb文件夹,在vivado的tb中修改测试用例路径即可进行仿真。 得到
    发表于 10-24 06:46

    在vivado上基于二进制码对指令运行状态进行判断

    a0 -8 为例 获取相应的二进制码将其转换为16进制导入vivado,方法就是将代码文件修改为.verilog文件并存入蜂鸟的tb文件夹,在vivado的tb中修改测试用例路径即可进行仿真。 得到结果
    发表于 10-24 06:31

    如何将图像文件转换为二进制文件?

    如何将图像文件转换为二进制文件
    发表于 09-05 08:28

    二进制数据处理方法分享

    时,我们如何去解析数据并且应用它们。本次的技术分享文章,我们就从如何传输数据和解析二进制数据来一步一步剥丝抽茧,搞清楚他的运作原理和二进制数据的数据结构。
    的头像 发表于 07-30 15:41 2153次阅读
    <b class='flag-5'>二进制</b>数据处理方法分享

    如何使用Keil将二进制文件加载到外部SPI Flash中?

    我想知道是否有办法使用 Keil 将随机二进制文件加载到外部 SPI 闪存中。二进制文件将通过 LPC54102(OM13077 EVK 板)。我知道一些用于 FPGA 的 ISE 允许您执行此作
    发表于 03-17 06:37

    无法使用密度化参数构建OpenVINO™二进制,怎么处理?

    无法使用密度化参数构建OpenVINO™二进制
    发表于 03-06 06:51

    原创:labview 读取补码表示的有符号16位数时,如何解析成负数

    值:4 294 964 157)将其转为位二进制数,先减去1,再将除符号位外的位数取反,得到的二进制数即为读取到的负数的原码,4 294 967296 3、将二进制原码,利用8421转换为
    发表于 02-21 22:12

    74LV4060-Q100二进制纹波计数器规格书

    电子发烧友网站提供《74LV4060-Q100二进制纹波计数器规格书.pdf》资料免费下载
    发表于 02-10 14:19 0次下载
    74LV4060-Q100<b class='flag-5'>二进制</b>纹波计数器规格书

    74LV4060二进制纹波计数器规格书

    电子发烧友网站提供《74LV4060二进制纹波计数器规格书.pdf》资料免费下载
    发表于 02-10 14:14 0次下载
    74LV4060<b class='flag-5'>二进制</b>纹波计数器规格书

    偏移二进制二进制补码如何和实际数据对应,如何转换

    偏移二进制二进制补码如何和实际数据对应,如何转换,请哪位高手解惑
    发表于 01-16 06:01

    用long int型采集了ad输出的24位有符号二进制补码数据,该如何观察数据?

    1.24位的二进制补码第24位为符号位,但我用的long int 形第32位为符号位,用ccs中的数据watch窗口,转换十进制数据观察是不是不能匹配,因为符号位的位置的不同,那该如何观察数据。 2目前内存是小端序,高位存在
    发表于 01-14 06:26

    TLC2543的输出结果应为带符号二进制格式的数据,现在输出的结果为不带符号的二进制数,这是因为什么原因?

    DSP采用模拟SPI总线的方式和TLC2543进行通信,采用AIN0,AIN1,AIN2,TLC2543的输出数据格式为16位,高位在前,带符号二进制数。用万用表测的AIN0,AIN1,AIN2
    发表于 12-27 07:46

    bcd编码的优缺点 bcd编码的常见错误

    BCD(Binary-Coded Decimal)编码是一种二进制编码方式,用于将十进制数(0-9)直接转换为二进制形式。这种编码方式在数字系统中非常常见,尤其是在需要处理数字数据的硬
    的头像 发表于 12-20 17:17 2399次阅读

    bcd与十进制之间的关系

    4位二进制数来表示1位十进制数中的0~9这10个数码,是一种二进制的数字编码形式。 表示方法 :在BCD码中,每一位十进制数都被编码为4位二进制
    的头像 发表于 12-20 17:15 3914次阅读

    bcd编码的应用 bcd与二进制的区别

    直接对应于我们日常使用的十进制数字系统。以下是BCD编码的一些应用和它与二进制编码的区别: BCD编码的应用 数字显示设备 :在数字钟表、计算器和其他需要显示十进制数字的设备中,BCD编码可以直接用于显示数字,无需额外的
    的头像 发表于 12-20 17:11 4413次阅读