11.8
昨晚被 C 和 C++ 的 undefined behavior 戏弄,debug 了很久才知道这是 UB,遂开摆,不知道制定语言标准的时候是出于什么考虑,把 signed overflow 作为 UB,但 unsigned overflow 就不是 UB?
经过测试,单运算表达式中会正常溢出而不会发癫,使用这一规避 UB 的方法后,今早很快完成了整个 datalab,题目本身没有什么特别的思维难度,最有趣的是一道实现 " ! " 运算,我运用分治的思想解决,写了 7 行,结果发现网络上的解答用其他思路在一行内就解决了...... 三道浮点数题对浮点数的考察也基本止于存储格式。总之,学完第一章加做完 datalab ,约 12 小时(非常随意的估计),全部收获大概如下:
- 复习了补码和浮点数
- 了解了 signed overflow
- 对位运算更熟悉
- 打了几行 linux 命令
下一章似乎更难,看来要先去学点汇编才能看懂了。据说下一章的 Lab 不能在 wsl 里完成,所以按照 IPADS 实验室 ICS 的环境配置教程 在Apple/Windows机器上配置ICS实验环境 用 docker 配了下环境,还在 交大 ICS 课程网站 上找到了一些宝藏 PPT,零基础带入门 shell 之类的工具!