补码浮点数运算(设数的阶码为3位,尾数为6位(均不包括符号位)按机械补码浮点运算规则完成下列[x+y]补运算。)

  • 作者简介:一名后端开发人员,每天分享后端开发以及人工智能相关技术,行业前沿信息,面试宝典。
  • 座右铭:未来是不可确定的,慢慢来是最快的。
  • 个人主页极客李华-CSDN博客
  • 合作方式:私聊+
  • 这个专栏内容:BAT等大厂常见后端java开发面试题详细讲解,更新数目100道常见大厂java后端开发面试题。
  • 我的CSDN社区:https://bbs.csdn.net/forums/99eb3042821a4432868bb5bfc4d513a8
  • 微信公众号,抖音,b站等平台统一叫做:极客李华,加入微信公众号领取各种编程资料,加入抖音,b站学习面试技巧,职业规划

题目描述:设数的阶码为3位,尾数为6位(均不包括符号位)按机械补码浮点运算规则完成下列[x+y]补运算。

(1)x = 2011 x 0.100100, y = 2010 x (-0.011010)
(2)x = 2-101 x (-0.100100), y = 2-100 x (-0.010110)

(1)

x = 2011 x 0.100100, y = 2010 x (-0.011010)
第一步
写出他们的浮点数,首先先把幂提取出来,然后再提出尾数,如果幂或者尾数是负数的话,就需要求他的补码。

[X]浮 = 00011 00.100100

详细过程:2011,取出001,然后前面补充两个0,如果是负数那么就是两个1,再然后再取尾数00.100100

[Y]浮 = 00010 11.100110
详细过程:2010,取出010,然后前面补充两个0,如果是负数那么就是两个1,再然后再取尾数,因为是负数所以需要对尾数取补码,然后双符号位变成11,11.100110

第二步
求阶差并对阶

△E = Ex - Ey = [Ex]补 + [-Ey]补 = 00011 + 11110 = 00001
△E为1,代表x的阶码大,应使My右移一位,阶码加一,于是[Y]浮= 00011(这个时候XY的阶码就一样了),阶码+1了,那么对于尾数,这个小数点就要向左移动一位,于是11.100110变成了11.110011

第三步
尾数求和
00.100100
+11.110011
——————————
100.010111

第四步
规格化
使得尾数部分成为双符号位,然后成为11.0或者00.1的形式,如果是这样的话就不需要规格化。
所以0.010111需要小数点右移一位,变成0.101110,因为小数点右移一位,所以阶码-1

向左规格化一位,阶码减一,小数点右移一位

[X + Y]浮 = 00010, 00.101110

第五题
判断溢出无溢出

[X + Y]浮 = 00010, 00.101110
最后为[X + Y]补= 2010 x 0.101110

(2)

第一步
x = 2-101 x (-0.100100), y = 2-100 x (-0.010110)
第一步
写出他们的浮点数,首先先把幂提取出来,然后再提出尾数,如果幂或者尾数是负数的话,就需要求他的补码。

[X]浮 = 11011 11.011110

详细过程:2-101,取出101,求补码为011,然后前面补充两个1,因为是负数所以需要对尾数取补码,然后双符号位变成11,11.011110

[Y]浮 = 11100 11.101010
详细过程:2-100,取出100,求补码为100,然后前面补充两个1,再然后再取尾数,因为是负数所以需要对尾数取补码,然后双符号位变成11,11.101010

第二步
求阶差并对阶

△E = Ex - Ey = [Ex]补 + [-Ey]补 = Ey - Ex = 11100 - 11011 = 00001
△E为1,代表x的阶码小,应使Mx移一位,阶码加一,于是[X]浮= 11100(这个时候XY的阶码就一样了),阶码+1了,那么对于尾数,这个小数点就要向左移动一位,于是11.011110变成了11.1011110

第三步
尾数求和
11.011110
+11.101010
——————————
111.0110010

第四步
规格化
使得尾数部分成为双符号位,然后成为11.0或者00.1的形式,如果是这样的话就不需要规格化。

因为尾数为11.0
不需要格式化

[X + Y]浮= 11100, 11.011001

第五题
判断溢出无溢出

[X + Y]浮= 11100, 11.011001
因为阶码和尾数都是负数,所以需要求补码
最后为[X + Y]补= 2-100 x (-0.100111)

为了在Windows安装ADB工具,你可以按照以下步骤进行操作: 1. 首先,下载ADB工具包并解压缩到你自定义的安装目录。你可以选择将其解压缩到任何你喜欢的位置。 2. 打开运行窗口,可以通过按下Win+R键来快速打开。在运行窗口中输入"sysdm.cpl"并按下回车键。 3. 在系统属性窗口中,选择"高级"选项卡,然后点击"环境变量"按钮。 4. 在环境变量窗口中,选择"系统变量"部分,并找到名为"Path"的变量。点击"编辑"按钮。 5. 在编辑环境变量窗口中,点击"新建"按钮,并将ADB工具的安装路径添加到新建的路径中。确保路径正确无误后,点击"确定"按钮。 6. 返回到桌面,打开命令提示符窗口。你可以通过按下Win+R键,然后输入"cmd"并按下回车键来快速打开命令提示符窗口。 7. 在命令提示符窗口中,输入"adb version"命令来验证ADB工具是否成功安装。如果显示版本信息,则表示安装成功。 这样,你就成功在Windows安装ADB工具。你可以使用ADB工具来执行各种操作,如枚举设备、进入/退出ADB终端、文件传输、运行命令、查看系统日志等。具体的操作方法可以参考ADB工具的官方文档或其他相关教程。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* [windows环境安装adb驱动](https://blog.csdn.net/zx54633089/article/details/128533343)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [Windows安装使用ADB简单易懂教程](https://blog.csdn.net/m0_37777700/article/details/129836351)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

极客李华

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

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

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

打赏作者

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

抵扣说明:

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

余额充值