csapp2e 家庭作业 2.81

这篇博客讨论了csapp2e作业2.81中的逻辑表达式,包括五个选项的正确性。博主通过解释和提供代码验证,指出A、B、E选项总成立,C选项在特定情况下不成立,D选项等价于恒等式。附带的C语言代码使用特殊值进行验证。
摘要由CSDN通过智能技术生成

A 当y=Tmin时,-y也等于Tmin。此时x无论取什么值,这个等式都为0

B 总成立,原理在P63 倒数第二段 

C 当x=0,y=-1时,此式不成立

D 这个等价于 (x-y)==-(y-x) 是永远成立的

E 总成立,这就解释了,为什么用右移代替除以2的幂时总是向下取整。

 

附:用四个特殊值的所有组合验证这些式子的代码

#include <stdio.h>
int main()
{
        int special[]={0,-1,0x80000000,0x7fffffff};
        int x,y;
        unsigned ux,uy;
        int i,j;
        for(i=0;i<4;i++)
                for(j=0;j<4;j++)
                {
                x = special[i];
                y = special[j];
                ux = (unsigned)x;
                uy = (unsigned)y;

                int a=(x>y)==(-x<-y);
                if(!a)
                        printf("a %d %d\n",i,j);
                int b&#

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值