浮点数对阶

核 心 : \color{red}{核心:}

阶 码 的 补 码 运 算 \color{red}{阶码的补码运算}

举例:

1.5 x 10^3 和 1.25 x 10^5

小 阶 向 大 阶 \color{green}{小阶向大阶}

则有 0.015 x 10^5 和 1.25 x 10^5

但这是我们人站在十进制的角度来进行的

计 算 机 的 处 理 方 式 与 我 们 人 的 处 理 方 式 不 同 \color{green}{计算机的处理方式与我们人的处理方式不同}

计算机内,是根据他们之间 阶 码 的 差 \color{green}{阶码的差} 来决定怎么对阶的

具体解析:(以32位的 float 类型为例)

1.5 x 10^3 的阶码为 127+3=130 转化成二进制—— 1000 0001

1.25 x 10^5的阶码为 127+5=132 转化成二进制—— 1000 0100

要求差,则把他们做减法运算

1000 0010 - 1000 0100

等价于

1000 0010 + [ 1000 0100 ]补码

1000 0010 + 0111 1100 = 1111 1110 (这是结果的补码,还要再化成原码)

注 意 : 这 是 带 符 号 的 , 符 号 位 为 首 位 \color{red}{注意:这是带符号的,符号位为首位}

减1取反(取反时符号位不变)

1000 0010 (十进制——即 - 2 = 3 - 5)

得到 -2

则表示,应该把 1.5 x 10^3 的尾数右移两位,然后阶码+2

即 0.015 x 10^5

而且,阶码都变成了1000 0100 (132 = 127 + 5)

注 意 : 如 果 是 + 2 的 话 , 则 表 示 要 把 另 外 一 个 数 右 移 两 位 \color{green}{注意:如果是+2 的话,则表示要把另外一个数右移两位} +2

注 意 : 对 阶 过 后 会 把 隐 藏 位 “ 1 ” 给 显 现 出 来 哦 ( 即 不 再 有 隐 藏 位 ) \color{red}{注意:对阶过后会把隐藏位“1”给显现出来哦(即不再有隐藏位)} 1

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值