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环境不知道行不行, 如有不对请求指出

目录
相关文章
|
4月前
|
C语言
c语言编程练习题: 7-1 重要的话说三遍
这道超级简单的题目没有任何输入。 你只需要把这句很重要的话 —— “I'm gonna WIN!”——连续输出三遍就可以了。 注意每遍占一行,除了每行的回车不能有任何多余字符。 代码长度限制16 KB时间限制400 ms内存限制64 MB
31 0
|
1月前
|
自然语言处理 Java C#
C程序设计内容与例题讲解 -- 第一章(第五版)谭浩强
C程序设计内容与例题讲解 -- 第一章(第五版)谭浩强
|
1月前
|
算法 调度
C程序设计内容与例题讲解 -- 第二章(第五版)谭浩强
C程序设计内容与例题讲解 -- 第二章(第五版)谭浩强
|
6月前
|
存储 算法 编译器
C++ Primer Plus 第6版 读书笔记(8)第 8章 函数探幽(二)
C++ Primer Plus 第6版 读书笔记(8)第 8章 函数探幽(二)
32 1
|
6月前
|
存储 Java 编译器
C++ Primer Plus 第6版 读书笔记(8)第 8章 函数探幽(一)
C++ Primer Plus 第6版 读书笔记(8)第 8章 函数探幽(一)
23 0
|
8月前
洛谷P1424 小鱼的航程(改进版) C语言版
洛谷P1424 小鱼的航程(改进版) C语言版
|
10月前
|
存储 C语言
【C语言】青蛙跳台阶(图文详解)
【C语言】青蛙跳台阶(图文详解)
|
11月前
|
编译器 C语言
初阶C语言 第一章-------《控制语句》(while , for , do while.....) 知识点+思维导图+基本练习题+超详细(getchar..,system,)+通俗易懂(建议收藏)
初阶C语言 第一章-------《控制语句》(while , for , do while.....) 知识点+思维导图+基本练习题+超详细(getchar..,system,)+通俗易懂(建议收藏)
|
12月前
|
C语言
C语言程序设计第五版 谭浩强p 215-216 1. 4. 6. 8.11题解
C语言程序设计第五版 谭浩强p 215-216 1. 4. 6. 8.11题解
153 0
|
12月前
|
C语言
C语言程序设计第五版 谭浩强 P137 3,6,8,9题解
C语言程序设计第五版 谭浩强 P137 3,6,8,9题解
68 0