美文网首页
1.5 二进制表示浮点数

1.5 二进制表示浮点数

作者: Aurochsy | 来源:发表于2019-03-22 14:04 被阅读0次

Chapter1: 位运算的奇技淫巧

5. 二进制表示浮点数

问题

给定一个介于0和1之间的实数(如0.625),类型为double,打印它的二进制表示(0.101,因为小数点后的二进制分别表示2^(-1), 2^(-2), 2^(-3)...)

如果该数字无法精确地用32位以内的二进制表示,则打印"ERROR"

算法

感觉这题跟位运算关系不大,就是按照用二进制表示浮点数的算法,用字符串拼接的方法进行编程

思路:将该浮点数 *2 得到一个新的数 num,如果 num > 1 则在0. 后拼接上1, 否则拼接上 0, 循环直至 num==0

string binaryDouble(double num){
    string s="0.";//#include<string>
    while(num!=0){
        num*=2;
        if(num>=1){
            s+="1";
            num-=1;
        }
        else{
            s+="0";
        }
        if(s.length()==34){
            return "ERROR";
        }
    }
    
    return s;
    
}

参考资料

[1] 二进制表示浮点数

[2] C++字符串

相关文章

  • 深入浅出iOS浮点数精度问题 (上)

    目录 一,浮点数精度丢失? 二,整数的二进制表示 三,浮点数的二进制表示 四,iEEE 754浮点数的手动转换 五...

  • 1.5 二进制表示浮点数

    Chapter1: 位运算的奇技淫巧 5. 二进制表示浮点数 问题 给定一个介于0和1之间的实数(如0.625),...

  • Python避坑:浮点数运算出现不确定尾数

    什么是不确定尾数 我们都知道在计算机中数据由二进制表示,而浮点数则是小数的一种二进制表示方法。 由于浮点数存在精度...

  • [js]数值的精度

    基础知识 js内部所有数字在计算机内存中的表示都是64位双精度浮点数 双精度浮点数表示法的副作用 使用二进制浮点数...

  • 十进制和二进制互相转换

    二进制表示一般用原码表示,计算加减时用补码表示。这里的二进制小数是用的定点数表示,不是用浮点数表示的。 0X01 ...

  • Double类型运算的精度问题

    浮点数值不适用于无法接受舍入误差的计算中。 舍入误差的主要原因在于浮点数值采用二进制系统表示,而二进制系统中无法精...

  • 浮点数运算原理

    据以上分析,IEEE 754标准中定义浮点数的表示范围为: 单精度浮点数二进制:± (2-2^-23) × 212...

  • IEEE-754浮点数表示法

    几乎所有现代编程语言都采用这种二进制浮点表示法。如 JavaScript 但事实上,二进制浮点数表示法并不能精确地...

  • 5分钟讲清楚浮点数的底层表示

    浮点数的二进制表示,基本上就是用二进制的科学计数法来表示。 一个十进制的数0.75,用科学计数法表示是+7.5*1...

  • iOS浮点数精度丢失问题及处理方案

    为什么浮点数精度会丢失 浮点十进制值通常没有完全相同的二进制表示形式。 这是 CPU 所采用的浮点数据表示形式的副...

网友评论

      本文标题:1.5 二进制表示浮点数

      本文链接:https://www.haomeiwen.com/subject/liglvqtx.html