参考文献说明
关于 C 语言的参考书[45, 61]讨论了不同的数据类型和运算的属性。(这两本书中, 只有 Steele 和 Harbison 的书[45]涵盖了 ISO C 99 中的新特性。目前还没有看到任何涉及 ISO C 11 新特性的书籍。对于精确的字长或者数字编码 \(\mathrm{C}\) 语言标准没有详细的定义。这些细节是故意省去的,这样可以在更大范围的不同机器上实现 \(\mathrm{C}\) 语言。已经有几本书 \(\left\lbrack {{59},{74}} \right\rbrack\) 给了 \(\mathrm{C}\) 语言程序员一些建议,警告他们关于溢出、隐式强制类型转换到无符号数, 以及其他一些已经在这一章中谈及的陷阱。这些书还提供了对变量命名、编码风格和代码测试的有益建议。Seacord 的书[97]是关于 \(\mathrm{C}\) 和 \(\mathrm{C} + +\) 程序中的安全问题的,本书结合了 \(\mathrm{C}\) 程序的有关信息, 介绍了如何编译和执行程序, 以及漏洞是如何造成的。关于 Java 的书 (我们推荐 Java 语言的创始人 James Gosling 参与编写的一本书[5])描述了 Java 支持的数据格式和算术运算。
关于逻辑设计的书[58, 116]都有关于编码和算术运算的章节,描述了实现算术电路的不同方式。 Overton 的关于 IEEE 浮点数的书[82],从数字应用程序员的角度, 详细描述了格式和属性。