揭示算术运算中整数转换背后的原理
在执行算术运算之前将 C 和 C 中的短数据类型转换为 int 的必要性令很多人感到困惑。此要求起源于这些语言的历史。
整数转换的基本原理
根据国际标准基本原理 - 编程语言 - C,第 6.3 节。 1.8,决定使用更广泛的类型进行计算是为了几个原因:
通常的算术转换
C99 标准的第 6.3.1.8 节定义了应用于算术表达式中操作数的“常用算术转换”。对于短数据类型操作数,这些转换分两个阶段进行:
1。整数提升
如 C99 标准第 6.3.1.1 节所述,如果 int 可以表示所有 Short 值,则 Short 整数将转换为 int;否则,它们将被转换为 unsigned int。这可以提高计算的一致性,同时又不会影响表示的准确性。
2.常用算术转换
提升后的短整数(int 或 unsigned int)然后根据特定算术运算进行进一步转换。
“无符号保留”和“保值”方法
在标准化过程中,有两种整数提升方法之间的争论:
采用了保值方法,允许更一致的行为和准确的表示,特别是在 Short 由小于 int 的数据类型表示的环境中。
以上是为什么C和C在算术运算之前需要进行整数转换?的详细内容。更多信息请关注PHP中文网其他相关文章!