zoukankan      html  css  js  c++  java
  • CSAPP 读书笔记

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

  • 相关阅读:
    安装Joomla!3
    keepalived + lvs
    systemd 服务介绍
    lvs 进阶 第二章
    lvs 初始 第一章
    iptables 最终 第四章
    bind 笔记
    iptables 扩展匹配 第三章
    iptables 认识 第二章
    iptables 初见 第一章
  • 原文地址:https://www.cnblogs.com/DKSoft/p/3699136.html
Copyright © 2011-2022 走看看