从长长的int中减去int

Subtracting an int from a long long int

本文关键字:int 长长的      更新时间:2023-10-16
  1. 我可以从long long int变量中减去int变量吗?

  2. 如果我不能:我需要存储一个比int中存储的数字更大的数字,并且我不想使用doublefloat,因为我需要整数,我可以做?我不想使用所有long long int。有没有办法将int施加到long long int中,以便我可以减法?

是的。为了减法,int将通过通常的算术转换将其转换为 long long int,以便两个操作数具有相同的整数转换等级,结果也将是long long int

这是§5/9涵盖的:

许多期望算术或枚举类型操作数的二进制运算符会以类似的方式导致转化和产量导致类型。目的是产生一种常见类型,这也是结果的类型。该模式称为通常的算术转换,定义如下:

[...]
如果两个操作数都签名了整数类型或两者都有未签名的整数类型,则 具有较小整数转换等级类型的操作数应转换为具有更大等级的操作数类型。
[...]

long long int的等级大于int的等级。

是的,您可以从long long int中减去int。您将不需要任何明确的铸件,因为int将自动扩大。

  1. 是;结果是long long(直到将其施加给其他东西;实际上,它是long long,但您可以将结果转换为其他类型)。

  2. n/a。