【发布时间】:2012-08-19 03:11:49
【问题描述】:
积分提升和平衡有什么区别。我们是否可以总结这两条规则,即任何类型在执行任何操作之前都转换为至少 int 或 unsigned int 类型(逻辑运算符 &&、||、! 除外),如果任何操作数的类型更大,则转换为更大的类型比 int 吗?
【问题讨论】:
-
“Promotion”是C的一部分,“balancing”是你刚刚编出来的词?
-
什么是平衡。一个类型怎么能比另一种类型更大呢?我知道类型之间没有排序关系。
-
@TomTanner:C 标准定义了整数转换等级。在 C 2011 中,它在 6.3.1.1 中。
-
@TomTanner:浮点数有什么关系?您写道,您不知道类型之间的排序关系。我通知了你一个订购关系。给定一个排序关系(偏序),一些类型“大于”其他一些类型。我怀疑,通过“平衡”,提问者指的是 C 的“常用算术转换”(6.3.1.8),它使用包括整数转换等级的类型排序将多个操作数转换为通用类型。
-
平衡是一个非常常见的编程术语,用于代替正式术语“通常的算术转换”。读一本 C 书,人们...