首页 > 其他分享 >整数和浮点数

整数和浮点数

时间:2023-06-18 19:36:12浏览次数:39  
标签:运算 尾数 浮点数 加减 整数 小阶 对阶

整数

浮点数的运算步骤

浮点数的加减运算一般由以下五个步骤完成:对阶、尾数运算、规格化、舍入处理、溢出判断

一、对阶

所谓对阶是指将两个进行运算的浮点数的阶码对齐的操作。对阶的目的是为使两个浮点数的尾数能够进行加减运算。因为,当进行M x·2Ex与M y·2Ey加减运算时,只有使两浮点数的指数值部分相同,才能将相同的指数值作为公因数提出来,然后进行尾数的加减运算。对阶的具体方法是:首先求出两浮点数阶码的差,即⊿E=E x-E y,将小阶码加上⊿E,使之与大阶码相等,同时将小阶码对应的浮点数的尾数右移相应位数,以保证该浮点数的值不变。几点注意:

(1)对阶的原则是小阶对大阶,之所以这样做是因为若大阶对小阶,则尾数的数值部分的高位需移出,而小阶对大阶移出的是尾数的数值部分的低位,这样损失的精度更小。

(2)若⊿E=0,说明两浮点数的阶码已经相同,无需再做对阶操作了。

(3)采用补码表示的尾数右移时,符号位保持不变。

(4)由于尾数右移时是将最低位移出,会损失一定的精度,为减少误差,可先保留若干移出的位,供以后舍入处理用。

二、尾数运算

尾数运算就是进行完成对阶后的尾数相加减。这里采用的就是我们前面讲过的纯小数的定点数加减运算。

 

标签:运算,尾数,浮点数,加减,整数,小阶,对阶
From: https://www.cnblogs.com/stayuplater/p/17489600.html

相关文章

  • 【Python 随练】一个整数,它加上 100 后是一个完全平方数,再加上 168 又是一个完全平方
    题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?简介:在本篇博客中,我们将解决一个数学问题:找到满足一定条件的整数。我们将提供问题的解析,并给出一个完整的代码示例来找出符合条件的整数。问题分析:我们需要找到一个整数,它加上100后是一个......
  • 和利时MACSV6.5.3中4byte数据合并转换为单精度浮点数float
    和利时MACSV6.5.3中4byte数据合并转换为单精度浮点数float代码截图验证完整可导入代码复制到记事本中,保存为xml文件,在和利时M6AutoThink中导入<?xmlversion="1.0"encoding="ISO-8859-1"?><pou> <path><![CDATA[USER]]></path> <name>IEEE754</name&g......
  • [数论]素数筛和整数分块
    PrimesievingandIntegerblocking一、Primenumbersievemethod1.埃氏筛O(nloglogn)从2开始,2是质数,那么2的倍数:4、6、8、10、12、14、16...肯定不是质数3是质数,那么3的倍数:6、9、12、15、18、21.....肯定不是质数4已经被筛去了(即被置为false),不是质数,那么4的倍数肯定......
  • oracle统计出正整数对应二进制的里面1的位数
    declarennumber:=15; count1int:=0;begin whilen<>0 loop n:=bitand(n,n-1); count1:=count1+1; endloop; dbms_output.put_line(count1); end;结果为:   对于负数oracle似乎处理不了,正整数没问题。......
  • 【剑指Offer】13、调整数组顺序使奇数位于偶数前面
    【剑指Offer】13、调整数组顺序使奇数位于偶数前面题目描述:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。解题思路:首先,如果不考虑奇数和奇数,偶数和偶数......
  • 字符串转换整数 (atoi)
    字符串转换整数(atoi)题目:请你来实现一个atoi函数,使其能将字符串转换成整数。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。接下来的转化规则如下:如果第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字字符组合起来,形成一......
  • 每日一道leetcode:8. 字符串转换整数 (atoi)
    1.题目(中等)题目链接请你来实现一个myAtoi(strings)函数,使其能将字符串转换成一个32位有符号整数(类似C/C++中的atoi函数)。函数myAtoi(strings)的算法如下:读入字符串并丢弃无用的前导空格检查下一个字符(假设还未到字符末尾)为正还是负号,读取该字符(如果有)。确定最终结果......
  • 每日一道leetcode:7. 整数反转
    1.题目(中等)题目链接2.分析与解答思路:整数取余。直接对原整数取余取到末尾数,并用该末尾数*10实现翻转,组成新的数,注意是否越界的判断classSolution{public:intreverse(intx){intans=0;while(x!=0){if(ans<INT_MIN/10||ans......
  • 【剑指Offer】13、调整数组顺序使奇数位于偶数前面
    【剑指Offer】13、调整数组顺序使奇数位于偶数前面题目描述:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。解题思路:首先,如果不考虑奇数和奇数,偶数和偶数......
  • 挑战数据结构和算法——整数的二进制表示中1的个数
    题目来源“数据结构与算法面试题80道”。在此给出我的解法,如你有更好的解法,欢迎留言。问题分析:本题涉及到二进制的处理,在本题使用到&操作和>>操作。方法:intget_num(intn){intnum=0;if(n<0){num+=1;n=n*(-1);}while(n!=0){......