CSAPP 读书笔记 - 2.31练习题

简介:   根据等式(2-14) 假如w = 4 数值范围在-8 ~ 7之间 2^w = 16   x = 5, y = 4的情况下面 x + y = 9 >=2 ^(w-1)  属于第一种情况 sum = x + y = 9- 2^w  = –7 sum – x == y? -7 – 4 = – 11 属于第三种情况 负溢出 sum – x  = –7 - 4= –11 + 2^w = 5  = y? 明显是等于的 同样 sum- y = x ? -7 – 5 = –12 + 2^w = 4 = x? 所以溢出的情况下面根本判断不到。

image

 

根据等式(2-14)

image

假如w = 4 数值范围在-8 ~ 7之间 2^w = 16

 

x = 5, y = 4的情况下面

x + y = 9 >=2 ^(w-1)  属于第一种情况

sum = x + y = 9- 2^w  = –7

sum – x == y?

-7 – 4 = – 11 属于第三种情况 负溢出

sum – x  = –7 - 4= –11 + 2^w = 5  = y?

明显是等于的

同样

sum- y = x ?

-7 – 5 = –12 + 2^w = 4 = x?

所以溢出的情况下面根本判断不到。

 

 

判断有没有溢出的情况 就判断有没有正溢出和负溢出

怎么判断?

x + y >= 2 ^ (w-1) 正溢出

0 + x + y >= 2^(w-1)

0 >= 2^(w-1) – x – y 成立就是正溢出了

 

0 + x + y < - 2 ^ (w-1) 负溢出

0 < –2^(w-1) – x – y 成立就是负溢出了

 

所以我的答案是:

if  (0 >= 2^(w-1) – x – y) || (0 < –2^(w-1) – x – y)
{
   result = 0
} else
{
   result = 1
}

 

没有C环境不知道行不行, 如有不对请求指出

目录
相关文章
|
人工智能 JavaScript 数据库
数据库原理第二章课后题答案(第四版)
数据库原理第二章课后题答案(第四版)
425 0
|
C语言
C语言初阶 牛客网刷题笔记(将持续更新..)
C语言初阶 牛客网刷题笔记(将持续更新..)
C语言初阶 牛客网刷题笔记(将持续更新..)
|
存储 SQL 安全
数据库原理第一章课后题答案(第四版)
数据库原理第一章课后题答案(第四版)
88 0
|
C++
AcWing语法基础课笔记 第一章 C++入门及简单的顺序结构
编程是一种控制计算机的方式,和我们平时双击打开文件、关机、重启没有任何区别。 ———闫学灿
180 0
C语言知识-学习练习题系列-3
C语言知识-学习练习题系列-3
|
存储 机器学习/深度学习 算法
【数据结构与算法】第八章:栈与队列相关应用完整版
前面几章纤细介绍了栈与队列的基本内容及相关操作,本章将通过三个案例对栈与队列作进一步的分析,然后分别利用栈和队列的基本操作给出案例中相关算法的具体实现。
202 0
C语言知识-学习练习题系列-7
C语言知识-学习练习题系列-7
C语言知识-学习练习题系列-5
C语言知识-学习练习题系列-5
C语言知识-学习练习题系列-4
C语言知识-学习练习题系列-4