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

    文章

    705

    浏览量

    41248
  • 计算机
    +关注

    关注

    19

    文章

    6642

    浏览量

    84469
收藏 人收藏

    评论

    相关推荐

    如何实现二进制和BCD码数据的相互转变?

    如何实现二进制和BCD码数据的相互转变? 二进制码是将十进制数字表示为二进制数和十进制数的一种表示方法。在计算机系统中,
    的头像 发表于 02-18 14:51 429次阅读

    二进制、八进制、十六进制在现实当中有什么意义?

    ,我们可以从数字存储和数据传输的角度来看这些进制的意义。计算机内部使用的是二进制,即由0和1组成的数字系统。这是因为计算机中的所有数据都被转化为二进制形式进行处理和存储。人们使用十进制
    的头像 发表于 01-16 11:14 583次阅读

    10进制转换为二进制的算法

    十进制转换为二进制是计算机科学中非常基础且重要的概念之一。在理解和应用计算机科学的基础知识时,掌握这个算法是至关重要的。 在开始讲解十进制转换为
    的头像 发表于 01-15 10:32 563次阅读

    LTM4686通过pmbus读出的寄存器的值,怎么转换为十进制数呢?

    LTM4686 通过pmbus读出的寄存器的值,怎么转换为十进制数呢?是否有转换公式呢?如温度、电压、电流等。
    发表于 01-05 06:47

    AD9957的二进制补码的小数点位置如何确定?

    您好!我正使用AD9957的QUDC模式,现通过DSP给AD9957送入并行数据。我的问题是,数据手册说施加于引D<17:0>的数据字可以选择二进制补码编码格式,那么请问这18位的二进制补码的小数点位置如何确定?AD
    发表于 12-25 07:55

    你知道十进制二进制如何进行转换吗?

    你知道十进制二进制如何进行转换吗? 当我们提到数字系统时,最常见的是十进制系统和二进制系统。十进制
    的头像 发表于 12-20 17:05 662次阅读

    十进制、十六进制二进制数制的区别

    计算机内部一般也是8位的倍数(8位= 1字节),所以每个字节可以方便地用2个十六进制数字表示。对于工程师来说,这比长的二进制数字序列更容易处理,但是计算机内部仍然是以2为基数的二进制数字系统。
    的头像 发表于 11-28 10:45 642次阅读
    <b class='flag-5'>十进制</b>、十六<b class='flag-5'>进制</b>和<b class='flag-5'>二进制</b>数制的区别

    二进制数据及取值范围的计算方法

    本文介绍二进制数据的相关知识,如定义、取值范围计算、转换为十进制的方法以及一些常见位数的二进制数据的取值范围等。
    的头像 发表于 11-08 15:48 819次阅读
    <b class='flag-5'>二进制</b>数据及取值范围的计算方法

    求助,如何理解把十进制转为二进制

    #include int fact(int n) { if(n<2)//将2换成其它数如8就可输出8进制的结果 return n; else { return fact(n/2)*10+n%2;//将二进制结果整个输出 } } 感觉return后面函数在调用
    发表于 10-16 08:04

    串口接收的是字符型的十六进制如何转换为二进制后控制相应的IO口?

    串口接收的是字符型的十六进制如何转换为二进制后控制相应的IO口
    发表于 10-16 06:41

    请问bcd码和二进制有什么关系?

    这个bcd码和二进制有什么关系? bcd 表示0011001是19(十进制) 二进制表示0011001是25(十进制) 这个怎么确定是哪个???
    发表于 10-07 06:02

    如何丢弃函数的二进制代码填入SRAM的二进制代码?

    应用程序 : 示例代码演示了如何丢弃函数的二进制代码, 然后填入 SRAM 的二进制代码, 然后调用它 。 BSP版本:M451系列BSP V3.01.001 硬件: 任何 M451 系列板块
    发表于 08-23 06:34

    二进制加权数模转换器讲解

    二进制加权数模转换器是一种将数字二进制转换成与数字数值成比例的等效模拟输出信号的数据转换器。
    发表于 06-29 11:34 1007次阅读
    <b class='flag-5'>二进制</b>加权数模<b class='flag-5'>转换</b>器讲解

    二进制译码器和二-十进制译码器介绍

    输入:二进制代码,有n个; 输出:2^n 个特定信息。 1.译码器电路结构 以2线— 4线译码器为例说明 2线— 4线译码器的真值表为:
    的头像 发表于 04-30 16:29 3552次阅读
    <b class='flag-5'>二进制</b>译码器和二-<b class='flag-5'>十进制</b>译码器介绍

    如何实现一个十进制二进制转换

    让我们继续收集方便的子程序并实现一个十进制二进制转换: 代码:全选 [decbin] i = 1 r = 0 binval = 0 nr = decval Do r = nr % 2 nr
    发表于 04-26 07:55