c语言 浮点数的加减乘除,浮点数的加减乘除运算步骤
1、浮点加减法的运算步骤
设两个浮点数 X=Mx※2Ex Y=My※2Ey
实现X±Y要用如下5步完成:
①对阶操作:小阶向大阶看齐
②进行尾数加减运算
③规格化处理:尾数进行运算的结果必须变成规格化的浮点数,对于双符号位的补码尾数来说,就必须是
001×××…×× 或110×××…××的形式
若不符合上述形式要进行左规或右规处理。
④舍入操作:在执行对阶或右规操作时常用“0”舍“1”入法将右移出去的尾数数值进行舍入,以确保精度。
⑤判结果的正确性:即阶码是否溢出
若阶码下溢(移码表示是00…0),要置结果为机器0;
若阶码上溢(超过了阶码表示的最大值)置溢出标志。
例题:假定X=0 .0110011*211,Y=0.1101101*2-10(此处的数均为二进制) ?? 计算X+Y;
解:[X]浮: 0 1 010 1100110
[Y]浮: 0 0 110 1101101
符号位 阶码 尾数
第一步:求阶差: │ΔE│=|1010-0110|=0100
第二步:对阶:Y的阶码小, Y的尾数右移4位
[Y]浮变为 0 1 010 0000110 1101暂时保存
第三步:尾数相加,采用双符号位的补码运算
00 1100110
+00 0000110
00 1101100
第四步规格化:满足规格化要求
第五步:舍入处理,采用0舍1入法处理
故最终运算结果的浮点数格式为: 0 1 010 1101101,
即X+Y=+0. 1101101*210
:
2、浮点乘除法的运算步骤
①阶码运算:阶码求和(乘法)或阶码求差(除法)
即 [Ex+Ey]移= [Ex]移+ [Ey]补
[Ex-Ey]移= [Ex]移+ [-Ey]补
②浮点数的尾数处理:浮点数中尾数乘除法运算结果要进行舍入处理
例题:X=0 .0110011*211,Y=0.1101101*2-10
求X※Y
解:[X]浮: 0 1 010 1100110
[Y]浮: 0 0 110 1101101
第一步:阶码相加
[Ex+Ey]移=[Ex]移+[Ey]补=1 010+1 110=1 000
1 000为移码表示的0
第二步:原码尾数相乘的结果为:
0 10101101101110
第三步:规格化处理:已满足规格化要求,不需左规,尾数不变,阶码不变。
第四步:舍入处理:按舍入规则,加1进行修正
所以 X※Y= 0.1010111※2+000
c语言 浮点数的加减乘除,浮点数的加减乘除运算步骤相关推荐
- c语言计算器取百分数,c语言计算器程序设计包含加减乘除简单的函数运算
c语言计算器程序设计包含加减乘除简单的函数运算 c语言计算器程序设计包含加减乘除简单的函数运算 人气:258 ℃时间:2020-03-28 13:19:41 优质解答 实用计算器之程序设计 [摘 要] ...
- 双精度改单精度c语言程序,C语言菜鸟基础教程之单精度浮点数与双精度浮点数...
上节课 简单介绍了浮点数.计算机程序中的浮点数分为单精度浮点数和双精度浮点数. 单精度和双精度精确的范围不一样. 计算机里的最基本的存储单位用位(bit)来表示.bit只能用来存储0或1. 稍大一点的 ...
- c语言浮点型菜鸟教程,C语言菜鸟基础教程之单精度浮点数与双精度浮点数
上节课 简单介绍了浮点数.计算机程序中的浮点数分为单精度浮点数和双精度浮点数. 单精度和双精度精确的范围不一样. 计算机里的最基本的存储单位用位(bit)来表示.bit只能用来存储0或1. 稍大一点的 ...
- c语言浮点数菜鸟教程,C语言菜鸟基础教程之单精度浮点数与双精度浮点数
上节课 简单介绍了浮点数.计算机程序中的浮点数分为单精度浮点数和双精度浮点数. 单精度和双精度精确的范围不一样. 计算机里的最基本的存储单位用位(bit)来表示.bit只能用来存储0或1. 稍大一点的 ...
- c语言编程输入单精度浮点数,小朋友学C语言(4):单精度浮点数与双精度浮点数...
上节课简单介绍了浮点数.计算机程序中的浮点数分为单精度浮点数和双精度浮点数. 单精度和双精度精确的范围不一样. 计算机里的最基本的存储单位用位(bit)来表示.bit只能用来存储0或1. 稍大一点的单 ...
- python的浮点数_python中浮点数的精度
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! python中,浮点数运算,经常会碰到如下情况:? 出现上面的情况,主要还是因浮 ...
- java中单精度浮点数和双精度浮点数_什么是浮点型?单精度浮点数(float)和双精度浮点数(double)介绍...
作为一名java学习者,怎能不懂这些java基础中的基础呢?本文就带各位温顾温顾java浮点型.单精度浮点数.双精度浮点数. 浮点型首先明确java中浮点型数据类型主要有:单精度float.双精度do ...
- (209)浮点数运算步骤
(209)浮点数运算步骤 1 文章目录 1)文章目录 2)FPGA入门与提升课程介绍 3)FPGA简介 4)浮点数运算步骤 5)技术交流 6)参考资料 2 FPGA入门与提升课程介绍 1)FPGA入门 ...
- php7的浮点数,php7.1浮点数运算问题
最近在项目中遇到一个问题,测试服务器接口返回金额精度缺失,导致app解析不正确发生闪退.调试后发现浮点数在json_encode后损失了精度,如下图所示. 网上说是因为php7.1版本的seriali ...
最新文章
- Vue从Hello World到打包(后端适读)
- 卷积神经网络是如何实现不变性特征提取的
- Day 8 Linux 优化-补充目录结构
- 云计算革命对国际关系的影响
- 用PHP删除一条记录mysql,php – 如何使用jquery删除mysql记录
- Java Spring研究之initHandlerMappings - MavenSandbox debug
- BZOJ1226 SDOI2009学校食堂(状压dp)
- 【转】8 个效果惊人的 WebGL/JavaScript 演示
- 在XCode工程中创建bundle文件
- python数据分析-Python数据分析:可视化
- Linux中特殊字符
- 安装Mercurial进行版本管理
- mysql物流管理系统_物流配送中心管理系统(SSM+MYSQL)
- Kali Linux 暴力破解 wifi密码
- 入行自媒体怎么快速变现,详细教程,教你手把手运营
- 淘宝爬登录、取个人资料、微博绑定、收货地址、支付宝绑定设置、安全设置等信息、购物车、收藏宝贝和店铺、个人积分、退款维权、我的足迹...
- qzezoj 1641 黑暗城堡
- 【烤机向】美国大选有没有打成269票平局的情况?
- 有没有茶几的效果图制作流程啊-零基础学3D
- Java资深开发:这不得40k起步呀