csapp lab1

1.环境搭建

1.1 Ubuntu虚拟机搭建

首先,我们需要在浏览器上下载VMware Workstation Pro和Ubuntu(下载方法可以百度,百度方法十分全,本文不做介绍),下载完后,我们就需要配置可以运行我们csapp lab1环境

1.2 后续环境搭建

首先,我们需要安装make ,我们只需要打开终端,然后输入以下命令:

sudo apt -y install make

之后,我们就可以在终端输入make来执行了。这里就表示我们安装了make
在这里插入图片描述
接下来我们安装gcc,在终端输入以下指令就可以安装:

sudo apt install gcc -y

由于这个csapp lab比较老,是搭建在32位系统上的,因此我们接下来需要搭建32位环境,输入以下指令:

sudo apt-get install gcc-multilib

这样我们就可以成功运行csapp lab了。

2. CSAPP Lab1

2.1 bitxor

在这里插入图片描述
对题目分析可以知道,这是一道异或题,而且只能使用 ~和& ,并且它还给我们举了一个例子,输入4和5两个数,最后得到1。 那我们可以先代入进去试一下,当x=4,y=5时,我们得到的是1,但当我们互换一下后,就变成了错误的。当我通过查询资料后,发现,这道题运用的是德摩根律,果然数学是最基础的科学!
在这里插入图片描述
还有就是想要对其进行异或操作,那么也就是同1得0,同0得0,不同得1,因此,我们就要先求出x和y同为0的位:~( ~x & ~y)
接下来求出x和y同为1的位:~(x & y)
那么答案也就出来了在这里插入图片描述

2.2 tmin

在这里插入图片描述

这道题目考察的是二进制最小的补码整数,那我们就需要学习一下何为补码:我们想要了解何为补码,那就需要先知道何为模运算,就是用你所提供的数除以模后,所得的余数就是补码,为了更好的理解何为模运算。我们可以举一个简单易懂的例子,就是钟表的例子:我们都知道,钟表的一圈只有12个大刻度,那么当时间超过12时,我们该怎样知道其指到几呢,比如15,我们用15除以它的模也

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值