当前位置: 首页 > 知识库问答 >
问题:

相对于类型转换,等级意味着什么?

柴深
2023-03-14

根据C 11标准(草案n3337)§5/9:

-如果两个操作数的类型相同,则无需进一步转换。

-否则,如果两个操作数都具有有符号整数类型或都具有无符号整数类型,则整数转换秩较小的操作数类型应转换为秩较大的操作数类型。

-否则,如果具有无符号整数类型的操作数的秩大于或等于另一个操作数类型的秩,则应将具有有符号整数类型的操作数转换为具有无符号整数类型的操作数的类型。

-否则,如果有符号整数类型的操作数的类型可以代表无符号整数类型的操作数类型的所有值,则无符号整数类型的操作数应转换为有符号整数类型的操作数的类型。

-否则,两个操作数都应转换为无符号整数类型对应的有符号整数类型的操作数的类型。

在这种情况下,排名意味着什么<它肯定不是指std::rank,
因为它与数组中的维数有关。。。

在积分类型和浮点类型方面,我认为是指它们的潜在大小。

C标准保证:

1 == sizeof(char) <= sizeof(short) <= sizeof(int) <= sizeof(long) <=  sizeof(long long)  

那么,我是否正确地假设这些等级是:

<<<< 代码> 5 长长
。。。

我在任何地方都找不到描述每种类型等级的列表。

共有1个答案

左宁
2023-03-14

4.13节说

每个整数类型都有一个整数转换秩,定义如下:

-除char和有符号char(如果char是有符号的)外,任何两种有符号整数类型都不得具有相同的秩,即使它们具有相同的表示形式。

-带符号整数类型的秩应大于任何具有较小大小的带符号整数类型的秩。

-long-long-int的秩应大于long-int的秩,后者应大于int的秩,后者应大于short-int的秩,后者应大于有符号字符的秩。

-任何无符号整数类型的秩应等于相应有符号整数类型的秩

-任何标准整数类型的秩应大于任何具有相同大小的扩展整数类型的秩。

-字符的等级应等于有符号字符和无符号字符的等级。

-布尔的秩应小于所有其他标准整数类型的秩。

-char16_t、char32_t和wchar_t的等级应等于其基本类型的等级(3.9.1)。

-任何扩展有符号整数类型相对于具有相同大小的另一个扩展有符号整数类型的秩是实现定义的,但仍受制于用于确定整数转换秩的其他规则。

-对于所有整数类型T1、T2和T3,如果T1的秩大于T2,而T2的秩大于T3,则T1的秩大于T3。

 类似资料:
  • 我在Spring批处理代码中遇到了一个错误:创建名为“itemReader”(在类路径资源中定义)的bean时出错,未能将“$Proxy0”类型的属性值转换为属性“preparedStatementSetter”所需的类型。 这是我的ItemReader代码: 这是我的ReaderSqlParameterSetter类: 谁能帮帮我吗?

  • 来自请求率和性能指南-Amazon Simple Storage Service: Amazon S3会自动扩展到高请求率。例如,您的应用程序可以在存储桶中的每个前缀每秒至少实现3,500个PUT/POST/DELETE和5,500个GET请求。存储桶中的前缀数量没有限制。以指数方式提高您的读取或写入性能很简单。例如,如果您在Amazon S3存储桶中创建10个前缀以并行化读取,您可以将读取性能扩

  • 为了正确理解Java中并发性的问题和解决方案,我浏览了官方的Java教程。在其中一页中,他们定义了内部锁和同步链接。在这一页,他们说: 只要一个线程拥有一个内在锁,其他线程就不能获得相同的锁。另一个线程在试图获取锁时会阻塞。 此外,他们在同步方法中的锁一节中提到: 当线程调用同步方法时,它会自动获取该方法对象的内部锁,并在方法返回时释放该锁。即使返回是由未捕获的异常引起的,也会发生锁释放。 对我来

  • 我想创建一个

  • 我正在阅读在进入SQL查询之前是否需要转义$_session['username']?它说“您需要转义传递给sql查询的每个字符串,而不管它的来源是什么”。现在我知道像这样的东西是非常基本的。谷歌搜索结果超过2万个。仅Stackoverflow就有20页的结果,但没有人真正解释什么是转义字符串,或者如何转义字符串。这只是假设。你能帮帮我吗?我想学习,因为我一直在用PHP制作一个web应用程序。 我

  • 问题内容: 假设我们在A包中有A类,在B包中有B类。如果类A的对象引用了类B,则称这两个类之间具有耦合。 为了解决耦合问题,建议在包A中定义一个接口,该接口由包B中的类实现。然后,类A的对象可以引用包A中的接口。这通常是“依赖倒置”的一个例子。 这是“在接口级别将两个类解耦”的示例。如果是,当两个类耦合时,它如何消除类之间的耦合并保持相同的功能? 问题答案: 让我们创建一个虚拟的例子。 套餐类别: