我可以从
long long int
变量中减去int
变量吗?从long long int中减去int int万一我做不到:我需要存储比可以存储在
int
数字的比较大的数字,我不希望使用double
或float
因为我需要整数,我该怎么办?我不想全部使用long long int
。有没有办法将int
转换为long long int
,以便我可以进行减法?
0
A
回答
5
是的,你可以。 int
将通过常规算术转换转换为long long int
为减法,使两个操作数具有相同的整数转换等级,并且结果也将是long long int
。
这是通过§5/ 9覆盖:
意想不到算术或枚举类型原因的转化率和产率结果类型的操作数以类似的方式,许多二进制运算符。目的是产生一个共同的类型,这也是结果的类型。这种模式被称为通常的算术转换,其被定义如下:
[...]
如果这两个操作数已签署整数类型或两者都具有无符号整数类型,则操作数 用的较小的类型整数转换等级应转换为等级较高的操作数的类型。
[...]
的long long int
的排名比的int
等级更高。
1
是的,你可以从long long int
减去int
。由于int
会自动加宽,因此您不需要任何明确的转换。
1
是;结果是
long long
(直到您将其转换为其他内容;实际上,它是long long
,但您可能会将结果转换为其他类型)。N/A。
相关问题
- 1. unsigned long long int
- 2. 从int转换为long long
- 3. Arduino long long int doc
- 4. long double vs long int
- 5. 对int int long long的警告
- 6. unsigned long long VS unsigned long long int
- 7. long unsigned int和unsigned long int有什么区别int
- 8. C++ int与long
- 9. %d与Long Int
- 10. long long int在windowsxp和windows7
- 11. 如何将long long int的数字放入long long int数组中
- 12. 从'long int'无效转换为'long int *'-fpermissive
- 13. 显着的性能从'int'减少到'long int'
- 14. Robot.delay(int)与Thread.sleep(long)
- 15. assert equals int long float
- 16. Java Thread.sleep long或int?
- 17. DataColumn DataType int和long
- 18. Java - int/long,float/double
- 19. unsigned int/signed int/long long:莫名其妙的输出
- 20. “long long = int + int”先计算,然后键入转换?
- 21. 长长为int和int为long long转换
- 22. 'intmax_t`应该在64位的`long int`和`long long int`平台上做什么?
- 23. 'long long int'被解释为'long int'。我该如何解决这个问题?
- 24. unsigned int(32bit)为无符号long long(64bit)
- 25. MSVC++处理无符号long long int
- 26. 将int转换为无符号long long
- 27. long int v。long的可读性
- 28. 将字符串转换为long long int
- 29. std :: streampos,std :: streamoff和std :: streamsize long long int?
- 30. 联盟为unsigned long long int类型投
当然写'int main(){long long int x = 100012u1928109111211LL; int y = 1234; printf(“%lld \ n”,x-y);返回0; }'和'gcc -Wall -std = c99 mytest.c -o mytest'比这个问题更短? –
@MatsPetersson - 当然,它更短,但不会编译。 –
你的意思是它缺少#include - 它仍然会更短... –