C++ 从长整型中减去整型

C++ 从长整型中减去整型,c++,casting,integer,long-integer,C++,Casting,Integer,Long Integer,我可以从long int变量中减去int变量吗 如果我不能:我需要存储一个比可以存储在int中的数字更大的数字,我不想使用双精度或浮点,因为我需要整数,我能做什么?我不想使用alllong-long-int。有没有办法将int转换成long-long-int,这样我就可以进行减法 是的,您可以从长整数中减去整数。您不需要任何显式强制转换,因为int将自动加宽 对,;结果是一个long(直到您将其转换为其他类型;事实上,它是一个long,但您可以将结果转换为其他类型) 不适用 是的,你可以。为了进

我可以从
long int
变量中减去
int
变量吗

  • 如果我不能:我需要存储一个比可以存储在
    int
    中的数字更大的数字,我不想使用
    双精度
    浮点
    ,因为我需要整数,我能做什么?我不想使用all
    long-long-int
    。有没有办法将
    int
    转换成
    long-long-int
    ,这样我就可以进行减法


  • 是的,您可以从
    长整数
    中减去
    整数
    。您不需要任何显式强制转换,因为
    int
    将自动加宽

  • 对,;结果是一个
    long
    (直到您将其转换为其他类型;事实上,它是一个
    long
    ,但您可以将结果转换为其他类型)

  • 不适用


  • 是的,你可以。为了进行减法运算,
    int
    将通过通常的算术转换转换为
    long-long-int
    ,以便两个操作数具有相同的整数转换秩,并且结果也将是
    long-long-int

    这包括在§5/9中:

    许多期望操作数为算术或枚举类型的二进制运算符会导致转换,并以类似的方式生成结果类型。目的是生成一个公共类型,它也是结果的类型。此模式称为常用算术转换,其定义如下:

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


    长整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型,但它不会编译。你的意思是它不见了#include-它会更短一些…@matstpeterson-不,对不起,是要添加一个附录:在第一个常量中有一个零散的
    'u'
    。哦,这就是你从快速输入中得到的。。。