精华内容
参与话题
问答
  • 浮点数

    千次阅读 2017-06-20 16:42:01
    有关浮点数的知识,以IEEE 754作为例子进行说明。

    1 浮点数概述

    浮点数是计算机存储实数的一种方式。它无法存储任意的十进制实数,部分实数仅能在浮点数定义的精度下近似表示。在计算机中,普遍使用的是IEEE 754标准的浮点数,包括一个32位的单精度浮点数与64位的双精度浮点数。

    浮点数分为三部分,符号位(Sign)指数位(Exponent)基数(Mantissa)位

    这里写图片描述

    设符号位为S,指数位为E,基数位为M,浮点数可以基本表示为:(1)S×2E×M

    以上公式只是对浮点数进行大致的说明。在实际的浮点数中,它所代表的十进制并不是使用直接上述公式计算,对于指数位与基数位在不同标准中有着不同的规定。不要用以上公式进行浮点数的十进制转换

    2 IEEE 754的32位浮点数表示

    IEEE 755 标准中,规定了符号位为1位、指数位为8位、基数位为23位。

    在IEEE754标准中,除了上述的浮点数的说明外,有几处不同:

    • 指数位的值不是实际的指数值,它是实际值加上127
    • 基数位省略了基数位的最右边的1,它实际上代表了一个24位的大于0小于2的实数。

    以上说明可能不够充分,接下来通过讲解一个十进制数如何表示成一个近似的浮点数来说明该标准下浮点数表示方法。

    3 十进制数转换为浮点数(IEEE754 32位)

    接下来,以实数3.14来做例子,讲述如何将十进制数转换为浮点数。

    1. 判断该数是否在表示范围内2126<3.14<2127,在该范围内,可以表示。

    2. 将整数部分进行二进制转换:3=11

    3. 将小数部分进行近似转换:

    在实数中,存在十进制小数无法使用表示的数。譬如 1/3、1/7。这是因为十进制小数只能表示能转换为10的次方为分母的分数。(譬如 1/5 可以表示为十进制小数,因为它能转换为2/10,1/25同理,因为它可转换为4/100)

    二进制小数则比十进制小数能表示的分数更少,因为其仅能表示能转换为以2的次方为分母的分数。因此,十进制小数不能一一对应一个二进制小数。

    综上所述,十进制小数仅能通过一个近似的二进制小数表示。其方法如下:

    1. 将小数部分乘以二:0.14×2=0.28
    2. 设上一步获得的结果为A,如果A的个位为0,则二进制小数的第一位为0。因此0.14的二进制第一位为0
    3. A的小数部分,并重复第一步:0.28×2=0.56
    4. 设上一步获得的结果为B,因为B的个位为0,则0.14的二进制的第二位为0
    5. B的小数部分,并重复第一步:0.56×2=1.12
    6. 设上一步获得的结果为C,因为C的个位为1,0.14的二进制第三位为1
      ……………………

    以上步骤要重复进行多次来取得多位小数。但只能使整个基数部分保留24位。解决该问题可以如下操作:

    Created with Raphaël 2.1.0开始整数部分是否为0从第一个1开始,取24位结束设整数部分位数为X,取小数24 - X位yesno

    如果在计算中出现了循环小数或是已经为0的情况,二进制小数计算可以提前停止。

    注意到,在整个转换浮点数的第一步已经判断了浮点数的范围,无需考虑十分小的小数无法表示,而近似为0的情况。

    通过上述操作,0.14的二进制表示为:0.0010010000111001010110

    4. 实数二进制转换

    3.14的二进制表示为:11.0010010000111001010110

    5. 实数规格化:

    基数需要从二进制数的第一个1开始表示,3.14的规格化表示为:1.10010010000111001010110×21

    6. 指数位计算

    3.14规格化后的指数为1,但根据IEEE标准,实际指数位需要在规格化表示的指数上加上127,则指数位为:127+1=128=10000000

    7. 基数位表示

    根据IEEE标准,基数位仅表示1.XXXXX后的.XXXXX部分,则3.14的浮点数的基数位为:10010010000111001010110

    8. 结果

    结合得到的指数位和基数位,再加上符号位0(如果是负数则为1),3.14的完整32位浮点数表示为:0 10000000 10010010000111001010110

    4 浮点数转换为十进制数(IEEE754 32位)

    根据上述过程,我们不难得出浮点数的十进制表示公式:

    设符号位为S,指数位为E,基数位为M,则32位浮点数代表的十进制数计算公式为:

    (1)S×2E127×(1+M×223)

    5 浮点数表示的不准确性

    从十进制转换为浮点数的过程中,我们可以看出使用浮点数来表示一个实数时存在的误差在两个地方产生:

    • 十进制小数的二进制转换,许多十进制小数部分只能近似转换成二进制小数。
    • 基数位数限制,即使十进制数存在一个精确的二进制数,由于浮点数的位数限制,只能保留固定位数的有效数字。

    因此,在编程中使用浮点数实际上并不准确。即使浮点数的加减乘除计算是准确的,浮点数本身不准确,其结果也不会准确。如果要进行精确计算,使用整型才是最佳选择。

    展开全文
  • 【C语言】将一个浮点数四舍五入保留两位小数

    万次阅读 多人点赞 2019-09-13 00:25:49
    【C语言】将一个浮点数四舍五入保留两位小数 第一次做这个题目的时候,我用了一个比较傻的方法:利用强制类型转换可以得到该浮点数的整数部分,然后分别取出十分位、百分位、千分位上的数字,判断千分位上的数字是否...

    【C语言】将一个浮点数四舍五入保留两位小数

    第一次做这个题目的时候,我用了一个比较傻的方法:利用强制类型转换可以得到该浮点数的整数部分,然后分别取出十分位、百分位、千分位上的数字,判断千分位上的数字是否大于等于5,若是则百分位进一,再将这几个数字乘以系数后相加即可

    关于如何获取某一位上数字的方法在另一篇博客中有详细说明获取正数或浮点数某一位上的数字

    #include <stdio.h>
    
    int main(int argc, const char * argv[]) {
        
        double f = 123.4567;
        //获得整数部分
        int a = (int)f;
        
        //获取十分位部分
        int b = (int)(f*10)%10;
        //获取百分位部分
        int c = (int)(f*100)%10;
        //获取千分位部分
        int d = (int)(f*1000)%10;
        
        //判断千分位是否大于等于5
        if (d >= 5) {
            //是,百分位进一位
            c ++;
        }
        
        //乘以系数后相加
        double e = a + b*0.1 + c*0.01;
        
        printf("a = %d\n",a);
        printf("b = %d\n",b);
        printf("c = %d\n",c);
        printf("d = %d\n",d);
        printf("e = %f\n",e);
        
        return 0;
    }
    

    这个方法显然是很傻的(看见题目的时候脑子没转过弯来),下面介绍比较常用的方法

    1. 如何进行四舍五入

      假设要从某一位进行四舍五入,很自然能想到判断它后一位上的数字是否大于等于5,其实可以直接给这个数字加上5,就能跳过判断的过程了

      例如

      100.1123 四舍五入保留整数: 100.1 + 0.5 = 100.61 取整后为100

      100.7123 四舍五入保留整数: 100.7 + 0.5 = 101.21 取整后为101

      但是,假如要进行小数位的四舍五入,光利用这个特性是不够的,例如

      100.1123 四舍五入保留两位小数:100.1123 + 0.005 = 100.1173

      100.1173 四舍五入保留两位小数:100.1173 + 0.005 = 100.1253

      怎样将百分位后的数去掉呢?

    2. 如何处理小数位的四舍五入

      可以利用强制转换为int型时,截断的特性来实现

      例如

      int a = 0.75 实际上 a 赋值为0,小数部分被截断了

      利用这个特性,可以将要保留的数据挪到整数位,然后强制转换为int型,再转回所求的数字即可

      #include <stdio.h>
      int main(int argc, const char * argv[]) {
          
          double f = 123.4567;
          
          //1.进行四舍五入
          f = f + 0.005;
          //2.将要保留的数据挪到整数位,再取整
          int temp = f*100;
          //一步到位
          //int temp = (f+0.005)*100;
          //3.转为所需数字
          f = temp/100.0;
          
          printf("f = %f\n",f);
          
          return 0;
      }
      

      当然,也可以先转为int型再进行四舍五入,结果都是一样的

      #include <stdio.h>
      int main(int argc, const char * argv[]) {
          
          double f = 123.4567;
          
          //取整的同时四舍五入
          int temp = (int)(f*100+0.5);
          //转为所需数字
          f = temp/100.0;
          
          printf("f = %f\n",f);
         
          return 0;
      }
      

      由于float类型的有效数字为6~7位,可能存在六位以后的数据不正确的情况,所以为了保证精度,在需要较长的浮点数时最好使用double型

    展开全文
  • 浮点数总结

    千次阅读 2018-08-26 10:19:18
    浮点数在内存中的存储  根据IEEE standard 754,float用4个字节存储,double用8个字节存储。float 1个bit用来存储浮点数的符号,8个bit用来存储浮点数的指数,23个bit用来存储浮点数的尾数。对于double 1个bit用来...

        浮点数在内存中的存储

             根据IEEE standard 754,float用4个字节存储,double用8个字节存储。float 1个bit用来存储浮点数的符号,8个bit用来存储浮点数的指数,23个bit用来存储浮点数的尾数。对于double 1个bit用来存储浮点数的符号,11个bit用来存储浮点数的指数,52个bit用来存储尾数。

               Sign       Exponent          Fraction
    Single Precision         1[31]      8[30-23]       23[22-0]
    Double Precision         1[63]     11[62-52]       52[51-0]

    符号位:0表示正,1表示负

    指数位:指数位既要能够表示出来正的指数同时也要能够表示出来负的指数。在设计上,为了存储,在实际的指数上加了一个偏移(bias)。对于IEEE 单精度的float为例,这个值是127。这样对于指数位为0,实际在指数位中存储的是127.对于指数位中存储的是200的指数,实际存储的是73(200-127)。对于指数位全是0和全是1的情况有特殊表示,下面会讨论到。

    尾数:对于一个10进制的浮点数转化为科学计数法的2进制的形式都可以表示为1.f*2^{n},其中f表示的是二进制的尾数,例如3.5可以表示为1.11*2^{1}。在存储上只需要存储f既可以,因为小数点前面永远都是1,这样可以省下来一个bit。

    浮点数的精度

           对于一个单精度的浮点数:

          11110000 11110000 10100000 10101111                   32-bit Integer

         = +1.1110000 11110000 10100000 10101111 * 2^{31}     Full-Precision Float

         = +1.1110000 11110000 10100000  * 2^{31}                   Single-Precision Float

        = 11110000 11110000 10100000 00000000            Corresponding Value

            从上面的例子可以看出对于单精度浮点数只能够表示一定精度范围内的数值,对于超出其精度的部分会做截断。在牺牲一定精度的基础上,对于同样是32bit,单精度浮点数能够表示的数字可以达到2^{127}的范围,而对于整型只能够表示到2^{32}.

    特殊的值

             0

             我们知道对于使用科学计数法的二进制数,小数点的前一位永远是1,那么这种方式永远也无法表示出来0。在IEEE standard 754中将0作为一个特殊的值进行处理。0是将指数位和尾数位全部置为0,但是有+0和-0之分,但是他们是相等的(+0 == -0)。

          Denormalized

          对于一个指数位都是0,但是尾数不是0的浮点数(如果尾数也都是0,则是上面说到的0的表示),那么这种数是一种非规格化的数字。这种情况下,对于使用科学计数法的二进制数的小数点前面的1不再是1,而是0。这个时候的单精度浮点数表示为(-1)^{s} * 0.f * 2^{-126}

          Infinity

          对于指数全是1,而尾数都是0的情况用来表示无穷。符号位为0表示正无穷,符号位为1表示负无穷。IEEE支持浮点数和无穷的各种比较计算。

         Not a Number

         对于指数都是1,但是尾数不是1的情况用来表示NaN(Not a Number),用来表示一些在数学上的非法定义。

         特殊的计算

          IEEE对特殊的值的计算有明确的定义,如下表所示。

                                                                    

          浮点数的比较

           在前面已经说过,浮点数只能够在一定精度上表示数字,所以对于真实的数字可能存在rounding error(舍入误差)。对于两个浮点数它在计算机中的表示不存在舍入误差,那么它可以使用“==”和"!="进行比较(即看4bytes所存储的bit是否完全相同),而对于存在舍入误差的两个数,就要考虑在多少误差范围之内两个数是否相同,例如:

    if(Math.abs(a-b) < Precision){ ... }

            

            

     

    展开全文
  • C语言浮点数

    万次阅读 多人点赞 2019-08-03 20:23:07
    浮点数的概念 浮点数也称小数或实数。例如,0.0、75.0、4.023、0.27、-937.198 都是合法的小数。这是常见的小数的表现形式,称为十进制形式。 C语言中采用float和double关键字来定义小数,float称为单精度浮点型...

     

    浮点数的概念

           浮点数也称小数或实数。例如,0.0、75.0、4.023、0.27、-937.198 都是合法的小数。这是常见的小数的表现形式,称为十进制形式。

           C语言中采用float和double关键字来定义小数,float称为单精度浮点型,double称为双精度浮点型,long double更长的双精度浮点型。

           在任何区间内(如1.0 到 2.0 之间)都存在无穷多个实数,计算机的浮点数不能表示区间内所有的值。浮点数通常只是实际值的近似值,例如7.0可能被储存为浮点值6.99999。

    点用内存的情况

           我们先来测试一下float、double和long double三种浮点数据类型占用内存的字节数。

           示例(book71.c)

           

           运行结果

           

    浮点数的精度

           C标准规定,float类型必须至少能表示6位有效数字,且取值范围至少是10-37~10+37。

           double类型和 float类型的最小取值范围相同,但至少必须能表示10位有效数字。

           long double,以满足比double类型更高的精度要求。不过,C只保证long double类型至少与double类型的精度相同。

           看了上面这段文字,估计大家有点晕,在之前的整数章节中,long比int的占用的内存多,存放数据的值也就越大,并且有一个准确的范围,但是,为什么各种浮点数存放数据的值怎么就这么模糊呢?我先不解释原因,浮点数的存储方式比较复杂,暂时不讨论,先用几个程序来测试一下它们的特征。

    1、测试float类型

           示例(book73.c)

           

           运行结果

           

           从程序的运行我们可以看出float数的两个特征:

           1)float数据类型表达的是一个近似的数,不是准确的,小数点后的n位有误差,浮点数的位数越大,误差越大,到8位的时候,误差了1,基本上不能用了。

           2)用“==”可以比较两个整数或字符是否相等,但是,看起来相等的两个浮点数,就是不会相等。

    2、测试double类型

           示例(book74.c)

           

           运行结果

           

           从程序的运行我们可以看出double数的两个特征:

           1)double数据类型表达的也是一个近似的数,不是准确的,小数点后的n位有误差,浮点数的位数越大,误差越大,到17位的时候,误差了1,基本上不能用了。

           2)用“==”可以比较两个double数值是否相等。

    3、测试long double类型

           示例(book75.c)

           

           运行结果

           

           long double的测试结果与double相同。

    4、测试总结

          float只能表达6-7位的有效数字,不能用“==”判断两个数字是否相等。

          double能表达15-16位有效的数字,可以用“==”判断两个数字是否相等。

          long double和double的特征相同。

          在实际开发中,建议弃用float,只采用double就可以,long double暂时没有必要,但不知道以后的操作系统和编译器对long double是否有改进。

    浮点数的输出

          float采用%f输出,double采用%lf输出,测试结果证明,double也可以采用%f输出。

          long double采用%Lf输出,注意,L是大写。

          %lf缺省显示小数点后六位。

          如果要显示小数点后n位,用%.nlf,例如:

          double ff=7.5;

          %.2lf  显示 7.50

          浮点数采用%lf输出,完整的输出格式是%m.nlf,指定输出数据整数部分和小数部分共占m位,其中有n位是小数。如果数值长度小于m,则左端补空格,若数值长度大于m,则按实际位数输出。

    常用的库函数

          在接下来的内容中,我只介绍double,不再介绍float和long double两种数据类型相关的知识。

          以下是常用的浮点数函数,必须掌握。

          double atof(const char *nptr);       // 把字符串nptr转换为double

          double fabs(double x);               // 求双精度实数x的绝对值

          double pow(double x, double y);     // 求 x 的 y 次幂(次方)

          double round(double x);              // double四舍五入

          double ceil(double x);                 // double向上取整数

          double floor(double x);               // double向下取整数

          double fmod(double x,double y);     // 求x/y整除后的双精度余数

          double modf(double val,double *ip); // 把双精度val分解成整数部分和小数部分,整数部分存放在ip所指的变量中,返回小数部分。

          还有一些数据计算函数,如正弦、对数、指数等,实际开发中极少使用,大家要用的时候再查资料,我就不介绍了。

    整数转换为浮点数

          我们先来看一个示例(book77.c):

           

          运行结果

           

          需要特别注意的是dd=ii/jj这一行代码,dd的值0,不是0.75,有点意外,所以,如果对整数转换为浮点数没有把握,加(double)强制转换是个好办法。

    应用技巧

          浮点数有一些坑,例如两个浮点数不相等和精度的问题,在实际开发中,我们经常用整数代替浮点数,因为整数是精确的,效率也更高。

          例如人的身高一米七五,以米为单位,用浮点数表示是1.75米,如果以厘米为单位,用整数表示是175。

          long整数的取值是-9223372036854775808~9223372036854775807,有效数字是19位,而double的有效数字才15-16位,所以,整数可以表达的小数更大的数,更实用,麻烦也更少。

          货币:1.75元,如果采用0.01元为单位就是175,采用0.001元为单位就是1750,如果你说要更多小数怎么办?你这是钻牛角尖。

          给大家说一个道,高水平的程序员不容易掉坑里,注意,是不容易,不是一定不会,最好的方法是没有坑。

    科学计数法

          在实际开发中,我们很少使用科学计数法,但是它经常出现在计算机系统中,例如浮点数在内存中的存放方式就是科学计数法,所以我们还是有必要学习科学计数法。

          科学记数法是一种记数的方法。把一个数表示成a与10的n次幂相乘的形式(1≤|a|<10,n为整数),这种记数法叫做科学记数法。当我们要书写或运算某个较大或较小且位数较多时,用科学记数法免去浪费很多空间和时间。

          例如:51400000000=5.14×1011。计算器或电脑表达10的幂是一般是用E或e,也就是51400000000=5.14E11或5.14e11。

          用科学记数法表示数时,不改变数的符号,只是改变数的书写形式而已,可以方便的表示日常生活中遇到的一些极大或极小的数 。如:光的速度大约是300,000,000米/秒;全世界人口数大约是:6,100,000,000。

          这样的数,书写和显示都很不方便,我们可以免去写这么多重复的0,将其表现为这样的形式:6,100,000,000=6.1×109,即6.1E9或6.1e9。

          或:0.00001=1×10-5,即绝对值小于1的数也可以用科学记数法表示为a乘10 的负n次方的形式。即1E-5或1e-5。

          科学计数法采用%e或%E输出,完整的输出格式是%m.ne或%m.nE,指定输出数据整数部分和小数部分共占m位,其中有n位是小数。如果数值长度小于m,则左端补空格,若数值长度大于m,则按实际位数输出。

          示例(book78.c):

           

          运行结果

           

     

    版权声明

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

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

    作者:码农有道

    如果这篇文章对您有帮助,请点赞支持,或在您的博客中转发我的文章,谢谢!!!

    如果文章有错别字,或者内容有误,或其他的建议或意见,请您留言指正,非常感谢!!!

     

    展开全文
  • 编写一个程序,其功能为:从键盘上输入一个浮点数(小数点后有三位数),然后分别输出该数的整数部分和小数部分。 样例输入:123.456 样例输出:123 456 要把一个浮点数的小数和整数部分分开,不妨这样想,先提取...
  • 单精度浮点数在机内占4个字节 双精度浮点数在机内占8个字节 (2)有效数字位数不同 单精度浮点数有效数字8位 双精度浮点数有效数字16位 (3)所能表示数的范围不同 单精度浮点的表示范围:-3.40E+38 ~ +3.40E+38 双...
  • 输入一个浮点数

    2020-02-03 17:43:09
    编写一个程序,其功能为:从键盘上输入一个浮点数(小数点后有三位数),然后分别输出该数的整数部分和小数部分。 样例输入:123.456 样例输出:123 456 代码1 #include<iostream> #include<cstdio> ...
  •     我们处理一些问题时经常需要随机生成一些数据,这里介绍如何用python中的random模块生成浮点数、整数、字符串以及一些其他的小应用。 1.总结如下   (1) 随机的浮点数,范围是在0.0~1.0之间:random....
  • 在一行中按照字符、整数、浮点数1、浮点数2的顺序输出,其中浮点数保留小数点后2位。 输入样例: 2.12 88 c 4.7 输出样例: c 88 2.12 4.70 # include <stdio.h> int main(void) { float f1, f2; ...
  • c语言浮点数的输入输出

    千次阅读 2019-06-25 09:37:37
    C语言中浮点数输出精确到两位小数的语句如下 1 2 doublea=2.0; printf("%.2f",a);//其中.2指明两位小数 说明:如%9.2f 表示输出场宽为9的浮点数, 其中小数位为2, 整数位为6,如果9...
  • 作为单片机程序员来说,在编写程序时经常要检验程序中的浮点数运算结果是否正确,但手中又没有合适的检验工具,非常麻烦。而一般单片机是没有浮点数运算指令的,必须自行编制相应软件。在进行除法计算时,通常使用的...
  • 浮点数表示

    万次阅读 多人点赞 2016-12-22 15:00:17
    之前的一些工作当中碰到了很多有关浮点数的问题,比如浮点数的表达范围、表达精度、浮点数的存储方式、浮点数的强制类型转换等等,因此感觉有必要系统了解一下有关浮点数的问题。 —————————— 浮点数表示 ...
  • 在我们设计的仪表中采用PIC系列单片机,碰到了浮点数的运算问题,查阅其有关资料发现,其浮点数的格式及其与十进制数之间的转换,与我们常用的MCS-51单片机所提供的三字节、四字节浮点数完全不同,本文将说明其...
  • 这种浮点数是用科学记数法来表示的,即:浮点数=符号位.尾数×2^阶码。 根据IEEE 754国际标准,常用的浮点数有三种格式: (1) 单精度浮点数(32位),阶码8位,尾数24位(内含1位符号位)。 (2) 双精度浮点数(64位...
  • 在我们设计的仪表中采用PIC系列单片机,碰到了浮点数的运算问题,查阅其有关资料发现,其浮点数的格式及其与十进制数之间的转换,与我们常用的MCS-51单片机所提供的三字节、四字节浮点数完全不同,本文将说明其...
  • 浮点数的表示方法

    万次阅读 多人点赞 2019-02-13 23:44:28
    把一个数的有效数字和数的范围在计算机的一个存储...其中M称为浮点数的尾数,是一个纯小数。e是比例因子的指数,称为浮点数的指数,是一个整数。比例因子的基数2对二进记数制的机器是一个常数。 在机器中表示一个...
  • 浮点数存储原理

    万次阅读 2020-06-05 14:00:20
    一. 将一个float型转化为内存存储格式的步骤为: 1、先将这个实数的绝对值化为二进制格式 2、将这个二进制格式实数的小数点左移或右移n位,直到小数点移动到第一个有效数字的右边。 3、从小数点右边第一位开始数...
  • 浮点数运算案例

    千次阅读 2020-03-31 17:35:24
    浮点数运算案例
  • 本文档简介了TMS320C3x浮点数简介、IEEE754的32位转VC33的32位浮点数算法、IEEE754的64位浮点数转VC33的40位浮点数算法;给相关TI的DSP开发工程师提供开发参考。
  • 判断浮点数是否为整数浮点数还是小数浮点数 我们一般可以通过type(x)函数直接获取x的数据类型,或者通过isinstance(x, datatype)来判断x是否为datatype类型。但是,有时候,我们需要将如20.0这样小数位无值、类似于...
  • 浮点数加减运算

    千次阅读 多人点赞 2018-10-29 21:17:21
    浮点运算要把阶码和尾数分别处理。 阶码的运算是定点整数运算,对阶码的运算四种:阶码加1,阶码减1,两阶码求和,两阶码求差。 尾数的运算是定点小数运算,运算过程中一般取双符号位 ...当浮点数...
  • IEEE浮点数表示

    2015-11-27 18:54:05
    浮点数表示详解
  • IEEE754 浮点数的表示方法

    万次阅读 多人点赞 2016-01-09 17:08:19
    1.浮点数的存储格式 浮点数在C/C++中对应float和double类型,我们有必要知道浮点数在计算机中实际存储的内容。 IEEE754标准中规定float单精度浮点数在机器中表示用 1 位表示数字的符号,用 8 位来表示指数,用...
  • 浮点数加减运算器.zip

    2020-05-12 23:43:15
    浮点数加法、减法运算器 根据浮点数的四则运算规则,实现浮点数的加法、减法运算器。 浮点数的格式:阶码4位(包含2位符号位,2位数值位),尾数8位(包含2位符号位,6位数值位),阶码和尾数都用补码表示。要求完整...

空空如也

1 2 3 4 5 ... 20
收藏数 53,932
精华内容 21,572
关键字:

浮点数