CSAPP_Lab之DataLab
前言
出于记录📝和复习的需要,整理了下本人在做CSAPP深入理解计算机系统这本书的配套实验之Data Lab的内容 [Updated 12/16/19] (README, Writeup, Release Notes, Self-Study Handout)
关于CSAPP配套实验更多内容或配套文件等,请访问CSAPP_Lab
介绍
这个Lab主要涉及了位运算,补码和浮点数等内容。完成Lab不仅要实现函数的功能,还要求仅用规定的操作符,操作符数目也在限定范围内,详细可以看我部分翻译的README文件.
由于题目限定在32位系统中,本人系统为ARM架构,故测试程序在本人docker x86_64的linux环境中运行.
通过make clean && make && ./btest命令可以看到题目的分数.

题目
部分汉化:点我下载bits.c题目文件
- bitXor(x,y) 只使用 ~ 和 & 实现 ^
 - tmin() 返回最小补码
 - isTmax(x) 判断是否是补码最大值
 - allOddBits(x) 判断补码所有奇数位是否都是1
 - negate(x) 不使用负号 - 实现 -x
 - isAsciiDigit(x) 判断 x 是否是 ASCII 码
 - conditional(x, y, z) 类似于 C 语言中的 x?y:z
 - isLessOrEqual(x,y) x<=y
 - logicalNeg(x) 计算 !...
 
剩余内容已隐藏