浮点数加减运算

本文详细介绍了浮点数加减运算步骤,包括对阶、尾数操作、规格化、舍入和溢出判断,以及负数原码转补码和数据类型如char和int的范围及存储原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

王道考研ppt总结:

二、个人理解

浮点数加减运算步骤:1、对阶2、尾数加减3、规格化(左规和右规)4、舍入5、判断溢出

三、数据类型转换 


王道考研ppt总结:

二、个人理解

浮点数加减运算步骤:
1、对阶
2、尾数加减
3、规格化(左规和右规)
4、舍入
5、判断溢出

通过十进制浮点数加减法理解二进制加减法:
十进制的浮点数进行加减法:
1、对阶
让低阶向高阶对齐
为什么?
如果是高阶对齐低阶,就会导致小数点前出现一个比较大的整数
而计算机现在要处理的是浮点数,
现在突然出现了一个大的整数,
不好处理,需要特殊处理
所以,让低阶对齐高阶
就只需要对低阶的数据进行左移,阶码对应增大即可

2、当阶码对齐,尾数进行相加减

3、尾数的结果如果超过了9,或者为0,需要规格化
超过9,尾数向右移动,阶码+1
为0,尾数向左移动,阶码-1

4、舍入
当尾数只能存4位时,但是此时计算得出的尾数结果超过了4位
就需要进行舍入
常用四舍五入的方式
二进制的舍入,一般是0舍1入;或者恒置1法

5、判断溢出
如果阶码的位只有2位,也就是最大只能表示10的99次幂
但是,尾数计算相加时,阶码变成了10的100次幂
明显,溢出
需要特别处理
如果发生上溢,抛出异常
如果发生下溢,直接置0


负数的原码转补码:
1、数值位取反+1
2、从右到左,找到第一个1,这个1右边的数值不变,左边的数值取反,即可得到该负数原码的补码

尾数的扩展:
补码的定点小数的扩展:只需要在后面+0即可s

为什么求一个补码的负数补码需要所有的位取反+1?
1、假设这个数据是原码
那么其负数是一个负数,原来的数据是正数,所以符号位要取反,由0变成1;
数值位要取反+1
所以,如果原来的数据是正数,补码就是原码,负数的补码就是全部取反+1
2、假设这个数据是一个负数
那么其负数就是一个正数,现在的数据是正数,所以符号位要取反,由1变0
数值位,相当于负数的补码变成原码的过程,也就是同样的取反+1
所以,如果是负数的补码,再添加一个负号的补码,事实上就是原码
所以,依旧是整体的取反+1

因此,无论是正数还是负数的补码,当要求其负数的补码时,都是全部取反+1

三、数据类型转换 

char范围详解,为什么是-128~127,以及int类型范围详解(整型数据在内存中的存储)_-127到128什么类型-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

二十5画生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值