int negate(int x) { return ~x + 1; } datalab datalab-READMEhansimov.gitbook.io/csapp/labs/data-lab/readme-student 测试得分的命令、检查是否符合规范的命令 make btest # 创建btest输出文件 ./btest # 查看所有函数的得分,也可以查看单一函数foo的得分:./btest -f foo ./dlc bits.c # 检查...
negate intnegate(intx){return~x+1;} isAsciiDigit intisAsciiDigit(intx){intINF=0x80000000;intlow=0x30;inthigh=0x39;intl=x+~low+1;inth=high+(~x+1);return!(h&INF)&!(l&INF);} conditional intconditional(intx,inty,intz){intb=1+~(!x);// b = 1 if x = 0, else b = 0return...
f(flag,x)={0,flag=0x,flag=1⟺x&(−flag)f(flag,x)={0,flag=0x,flag=1⟺x&(−flag),结合2就可以理解,结合4很有用 (−x)=((∼x)+1)(−x)=((∼x)+1),这个实际上就是电路中减法的做法,这里可以看出反码在简化运算中的作用 bitXor 根据集合论/数理逻辑的知识可以很快想到异或的...
所以需要一些骚操作才能成功运行这个DataLab的检查,这里给一个GitHub上的教程https://github.com/microsoft/wsl/issues/2468#issuecomment-374904520,按照里面的步骤去做就可以成功在WSL运行这个实验,效率不算很高但是至少可以用。
1. bitXor //1/* * bitXor - x^y using only ~ and & * Example: bitXor(4, 5) = 1 * Legal ops: ~ & * Max ops: 14 * Rating: 1 */intbitXor(intx,inty){ } x^y=(x&~y)|(~x&y),m|n=~(~m&~n) intbitXor(intx,inty){return~(~(x&~y)&~(~x&y)); ...
用一周的时间写完了datalab,希望这学期能把8个实验写完吧,我的计算机底层知识还是很薄弱,总结一下,把重点的思路和题发出来。环境的话我使用的是wsl,安装ubuntu2022,相比虚拟机真的是快了很多,只不过没有图形界面。condtional题目: * conditional - same as x ? y :
开始先将 datalab-handout.tar 复制到一台 Linux 机器上(受保护的)目录中,您打算在该目录完成工作。然后输入命令unix> tar xvf datalab-handout.tar这会把许多文件解压到目录中。 你唯一需要修改和提交的文件是 bits.c。 bits.c 文件包含了 13 个编程谜题的框架。你的任务是完成每个函数框架,对于整数谜题只能...
CSAPP:Lab1 DataLab 内容会不断更新。 配置过程是下载清华大学打包好的镜像,用虚拟机运行Ubuntu,再开启共享文件夹进行使用。 问题1:bitXOR 用~和&实现异或。思路是输入为0011和0101,输出为0110即可。(真值表的二进制化) 先使用一至两次~和&组合出0100和0010,但由于没有|也没有+,转而通过先~再&再~,转化为...
CSAPP实验1:datalab CSAPP实验1:datalab 考试周除了学习什么都好玩,偶然发现了B站上的“精翻”视频,就冲了 第⼀章的视频还没看完(太长了quq),这⾥也只是写了整形的lab,写了⼤概有⼀整天 明天烤完⾼代就滚回来填这个lab、课程笔记、导论4、集合论习题的坑...好像有点多,不管了 这些只在本地...
【深入理解计算机系统 实验1 CSAPP】datalab + 环境搭建 data lab共计12条视频,包括:00_整体介绍、01_搭建实验环境、02_datalab_环境搭建等,UP主更多精彩视频,请关注UP账号。