csapp-lad1

1,csapp-lad1环境搭建

        https://blog.csdn.net/qq_45703010/category_11428808.html( 可以参考一下)

        这个首先就是虚拟机

        VMware - Delivering a Digital Foundation For Businesses

       然后镜像再者更新GCC

2 解题

1 bitXor

目录

1,csapp-lad1环境搭建

2 解题

1 bitXor


1 bitXor

用于 ‘非’ ‘和’ 两种运算实现异或运算

这个可以通过离散数学的方式进行解决然后我也不太懂我就凭感觉做出了就停突然做出了也许这就是狗运吧!

2 tmin

 这个怎莫说呢就感觉是白给的

要求返回一个最小值

 可以看一下就单纯 <<31 位就行

3 isTmax

判断一个数是不是最大值

这个题做之前你要确定他是有符号为的所以说32位最大值为 0x7fffffff 即我想的是在他原有的基础上加一若是最大值的话他会发生栈溢出变成0x80000000然后另X等于两个相加和即X变成最大的负值0xffffffff然后我们在对A进行!如果正常情况A=0(排除x=ffffffff,等特出情况) 然后对x取反令其相加 注意:x取反也是0这样二者相加在 !一下只有同时成立返回值才为1。

4. allOddBits

此题意思为只有所有奇数位全为零是返回值才为一

这个你要确定奇数位全为1具四位 1010 这个你要知道32位是 0位到31位 的所以奇数位全为1即

0xaaaaaaaa时返回值为一 由于这个操作两位所以说最大为0xaa再通过 << 移位符进行将r变为0xaaaaaaaa然后通过与X进行&符后再与r进行异或若果相同则返回值为1

5. negate

 这个也是白给题求一个数的负数即按位取反加一

6. isAsciiDigit

 

这个是判断一个数是否符合 0x30 <= x <= 0x39

这个我是通过令其相减判断最后符号位来判断是否符合该范围最后通过他们同时为零来判断返回值。

7.conditional

 三目运算

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值