nal*_*zok 6 c types language-lawyer c11
引自N1570:
6.3.1.8通常的算术转换
1许多期望算术类操作数的运算符会以类似的方式导致转换并产生结果类型.目的是确定操作数和结果的通用实数类型.对于指定的操作数,每个操作数在不更改类型域的情况下转换 为其对应的实类型是公共实类型的类型.除非另有明确说明,否则公共 实类型也是结果的对应实数类型,如果它们相同则其类型域是操作数的类型域,否则是复数.这种模式称为通常的算术转换:
- 首先,如果任一操作数的相应实数类型是long double,则另一个操作数在不改变类型域的情况下被转换为对应的实类型为long double的类型.
- 除此以外, ......
什么是"类型域"和"真实类型"?我搜索了文档,但没有找到定义.
6.2.5 N1570 的类型说明如下:
\n\n\n\n\n整数类型和浮点类型统称为算术类型。每个算术类型属于一个类型域:实数类型域包含实数类型,复数类型域包含复\n类型。
\n
然后进一步:
\n\n\n\n\n存在三种\n 实 浮点 类型\n ,指定为\n
\nfloat\n 、\ndouble\n 和\nlong\n double。\n 42)\n 该类型的值集\nfloat\n 是该集合的子集\n 类型的值的数量\n double\n ; \n double 类型的值集\n 是\n long double 类型的值集的子集\n
和
\n\n\n\n\n共有三种\n 复杂类型,指定为\n
\nfloat _Complex\n 、\ndouble _Complex和\nlong double _Complex。
(请注意,该标准没有提及任何关于复杂整数类型的内容,因此标准中定义的所有整数类型都属于实数类型域)。
\n\n由此可见,定义域指的是实数 \xe2\x84\x9d和复数 \xe2\x84\x82的数学概念的数学概念。
\n\n基本上,您问题中的摘录说的是,例如,如果您将实数与虚数或复数相加,结果也是复数;并且操作数在操作之前被提升到最大操作数的宽度。
\n| 归档时间: |
|
| 查看次数: |
243 次 |
| 最近记录: |