第六章习题

news/2025/10/26 23:34:32/文章来源:https://www.cnblogs.com/dingxingdi/p/19167611

下面的机器数都以16进制表示

w func1(w) func2(w)
机器数 ; 值 机器数 ; 值 机器数 ; 值
0000007F;127 0000007F;127 0000007F;127
00000080;128 00000080;128 FFFFFF80;-128
000000FF;255 000000FF;255 FFFFFFFF;-1
00000100;256 00000000;0 00000000;0

两个函数的功能:都是先将参数左移24位之后再右移24位;区别是func1是先移动完了再强制转换,所以全程都是无符号数,采用逻辑右移;而func2左移完了之后先转换再右移,所以采用算数右移
4.
image
5.
通过分析反编译的代码可以发现x扩大了15倍,所以M为15;而y+=3的原因是为了向0取整,根据y>>=2可以得出N=4
6.
串行进位:

\[C_1 = A_1 C_0 + B_1 C_0 + A_1 B_1 \]

\[C_2 = A_2 C_1 + B_2 C_1 + A_2 B_2 \]

\[C_3 = A_3 C_2 + B_3 C_2 + A_3 B_3 \]

\[C_4 = A_4 C_3 + B_4 C_3 + A_4 B_4 \]

并行进位:

\[C_1 = A_1 B_1 + (A_1 + B_1) C_0 \]

\[C_2 = A_2 B_2 + (A_2 + B_2) A_1 B_1 + (A_2 + B_2)(A_1 + B_1) C_0 \]

\[C_3 = A_3 B_3 + (A_3 + B_3) A_2 B_2 + (A_3 + B_3)(A_2 + B_2) A_1 B_1 + (A_3 + B_3)(A_2 + B_2)(A_1 + B_1) C_0 \]

\[C_4 = A_4 B_4 + (A_4 + B_4) A_3 B_3 + (A_4 + B_4)(A_3 + B_3) A_2 B_2 + (A_4 + B_4)(A_3 + B_3)(A_2 + B_2) A_1 B_1 + (A_4 + B_4)(A_3 + B_3)(A_2 + B_2)(A_1 + B_1) C_0 \]

(1). 由题\([x+y]_{\text{补}}=0010,[x-y]_{\text{补}}=1000\),所以\(x+y=2,x-y=-8\)(溢出)
(2).
5224ef0b83de3bd788a67adc4cb0a054
符号位单独处理,可以知道为1,所以最后的原码结果为\(10011001\),真值为\(-25\);由于\(P\)是一个非0数,所以溢出
(3).
b7fb685b5da40b92b5778ed954a3cf86
可以得到最后的补码结果为\(11110001\),真值为\(-15\)
(4).
80b0656b285c9bfef6d31db31746f855
符号单独处理,可以得到结果为商为-1余为0
(5).
b289230a03deafeb66b603540433a16b
最后修正商,可得商为1111,真值为-1;不用修正余数,为0010,真值为2
11
(4).
x = (15/16) × 2⁵,y = (2/16) × 2⁷。运算为 x - y

  • 将 x 和 y 表示为规定的浮点数格式
    • x
      • 尾数: 15/16 = (0.1111)₂。其 6 位补码表示为 00.1111
      • 阶码: 5。其 4 位移码表示为 5 + 8 = 13 = (1101)₂
      • 所以,x = 1101,001111
    • y
      • 尾数: 2/16 = 1/8 = (0.001)₂。其 6 位补码表示为 00.0010
      • 阶码: 7。其 4 位移码表示为 7 + 8 = 15 = (1111)₂
      • 所以,y = 1111,000010

接下来,需要对阶,使两个数的阶码相等。选择较大的阶码 7 作为公共阶码。x 的阶码需要从 5 调整到 7,因此 x 的尾数需要右移 2 位

  • 情况一:不采用任何附加位
    1. 对阶:

      • x 的尾数 00.1111 右移 2 位
      • 移位后,x 的尾数变为 00.0011 (最后两位 11 丢失)
      • x 的阶码变为 7
    2. 尾数相加:

      • 00.0011 (x 的尾数) + 11.1110 (-y 的尾数) = 00.0001
    3. 规格化:

      • 结果 00.0001 的符号位与最高数值位不同,需要规格化
      • 尾数左移 3 位变为 00.1000
      • 阶码相应地减 3,即 7 - 3 = 4
    4. 得出结果:

      • 规格化后的尾数为 00.1000,阶码为 4
      • 其值为: (0.1000)₂ × 2⁴ = (1/2) × 16 = 8

计算结果为 8

  • 情况二:采用 2 位附加位 (保护位 G,舍入位 R)

    1. 对阶:

      • x 的尾数 00.1111 附加两位 00,变为 00.1111 00
      • 右移 2 位后,尾数部分变为 00.0011,保护位 G = 1,舍入位 R = 1
    2. 尾数相加:

      • 将 x 的对阶后尾数与 -y 的尾数相加 (运算时包含附加位):
          00.0011 11
        + 11.1110 00
        -----------------00.0001 11
        
      • 结果的尾数部分为 00.0001,G = 1,R = 1。阶码为 7
    3. 规格化:

      • 结果 00.0001 11 需要规格化
      • 尾数左移 3 位,变为 00.1110 00
      • 阶码相应地减 3,即 7 - 3 = 4
      • 规格化后,尾数为 00.1110,G = 0,R = 0
    4. 舍入:

      • 根据“就近舍入到偶数”规则,检查 G、R 和 S (粘位,此处为0) 的值
      • 由于 G=0,表示移出的值小于最低有效位的一半,因此执行向下舍入 (即截断)
      • 舍入后的尾数仍为 00.1110
    5. 得出结果:

      • 最终尾数为 00.1110,阶码为 4
      • 其值为: (0.1110)₂ × 2⁴ = (1/2 + 1/4 + 1/8) × 16 = (7/8) × 16 = 14

计算结果为 14

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/947141.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

速通 花卉鉴赏 短文

真鲜花灵感来自 P&KU3(上) 第二日《时空花园》一题。 顺带一提,我在查阅资料的时候并没有找到百度百科花钟对应 list 的一个 reference,最后在 wikipedia 里有 reference 的里面选了一些写,如果有知道的朋友可…

Agent常见模式 - 智慧园区

我希望用最直白的方式,让大家理解这四种常见的模式,并且真实商业落地和你想的可能完全相反。 模式讲解 第一种,工作流LLM 这种方式最直观,就是在你原有的工作流上插入Agent,替换掉原来代码做不了,必须人做的事请…

react-router7.9.4使用

安装 新版路由简化了安装,只需要以下命令即可 npm i react-router创建路由文件 在项目根目录下创建路由文件 src\router\index.ts import { lazy } from react import Root from ../components/root import { createH…

AI元人文:从战略能力到价值对话的实现框架

AI元人文:从战略能力到价值对话的实现框架 核心洞见:无需从零创造,“价值对话AI”可通过重构已验证的战略型AI技术基石实现。关键在于对其能力进行目标升华与伦理重塑。 一、四项核心重构架构重构:从利益博弈到价值…

Loneliness

Spending years with a group of people who are fundamentally dissimilar is loneliness. Feeling the passage of time is also so lonely. Memories and regrets can even be so lonely. The speed of time never …

Java流程控制——用户交互Scanner

Java流程控制——用户交互Scanner用户交互Scanner 使用Scanner类实现获取用户输入 Scanner s = new Scanner(System.in);可通过Scanner类的next()与nextLinevitable()方法获取输入的字符串, 在读取前一般用hasNext()与…

概率论测试

后续会上传批改版本

2025.10.26总结

今天做了23年5月份上半场的75道选择,怎么说,没及格,无论是知识点的广度上还是深度上都差的很远,以目前的水平考试,能不能通过完全靠运气。 下午题看了几眼,一共五六道比较固定的答题,熟悉题型和做题方法后应该就…

Python---开发桌面应用程序

早就知道可以使用Python的PyQT构建桌面应用程序了,但是没有具体实际过,以前都是使用前端来开发桌面应用程序的,安装依赖麻烦的要死,打包的时候还各种繁琐。 没想到使用Python来开发桌面应用程序如此的简单。 直接撸…

Python实现验证码识别的完整流程解析

验证码(CAPTCHA)是网络安全防护中最常见的技术之一,主要用于防止恶意程序批量请求服务。然而,随着深度学习和图像处理技术的发展,验证码的自动识别已成为人工智能领域的一个重要应用场景。本文将通过 Python 展示…

基于Python的验证码自动识别方案设计与实现

验证码是互联网安全的重要组成部分,广泛应用于注册、登录、投票等场景。其主要目的是防止机器人程序的恶意请求。然而,随着图像处理和深度学习的发展,验证码自动识别技术逐渐成熟。本文将介绍一种基于 Python 的验证…

2025/10/26

2025/10/26学习数据结构

大学生为什么要认真听课

读这几篇博客,让我颇有共鸣。不少大学生从非专业课松懈到专业课失守,上课刷短视频更加剧了注意力流失,让我们逐渐放弃学习。大一刚开始我也会上课认真听讲,晚自习会听一些网课,补充上课没听到的知识。从非专业课的…

中科大「数学分析教程——上册」习题选做 - Neuro

1.6 节 \(\mathbf{Problem\ 1}\) 解: \[\begin{align*} &(1). \lim_{n \rightarrow \infin}\left(1 + \frac{1}{n - 2}\right)^n & = &\lim_{n \rightarrow \infin}\left(1 + \frac{1}{n - 2}\right)^{n …

记录一下

今天终于开始写C++了 题目:代码: include using namespace std; int main() { int n = 0; int arr[100] = { 0 }; int k = 0; cin >> n; while (k < n) { cin >> arr[k]; ++k; } int max = 0; int m…

实用指南:基于Springboot的DDD实战(不依赖框架)

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

我是如何通过开发微信小游戏赚得人生第一桶金的

我是如何通过开发微信小游戏赚得人生第一桶金的我是如何通过开发微信小游戏赚得人生第一桶金的一、初识 2023-2024年开始接触游戏开发的,那时候公司的业务有些小游戏的玩法,玩法很简单,但是每场都挺火爆的,日活有1…

20232418 2025-2026-1 《网络与系统攻防技术》实验三实验报告

20232418 2025-2026-1 《网络与系统攻防技术》实验三实验报告 1.实验内容 本次实验主要围绕免杀原理与实践展开,通过多种技术手段尝试实现恶意代码的免杀效果。首先,使用msfvenom生成不同格式的恶意文件(如exe、jar…

ADB命令手册 - Android Debug Bridge命令参考

ADB命令手册 - Android Debug Bridge命令参考 本手册包含ADB的常用命令、示例和拓展知识,帮助开发者和测试人员更好地使用ADB工具进行Android设备的调试和管理。 第一部分:ADB基础命令 adb version描述:显示ADB版本…

回忆录:梦开始的往事

回忆录:梦开始的往事 目录初入初入OI之门、 冲向算法 小奥之战 荣班 丘班失利 懵懂初一上(上)密码说明 由于文章内容涉及学校机密,不便直接公开发布,请希望阅读者洛谷私信hsr_ray或者添加微信hsrray2011,经作者审核…