【问题标题】:problem in unsigned long long in c++c++ 中 unsigned long long 的问题
【发布时间】:2011-08-06 06:08:26
【问题描述】:

我有一个 cpp 文件说 xyz.cpp,其中包含长常量。现在我需要将 long 常量更改为 long long。

ex   
long a=0x00000001

long long a=0x0000000000000001

为了将来的目的。 (我使用 gcc 编译器) 但是当我这样做时,我得到“整数值太大而无法保存长值”错误。 当通过互联网浏览时,我得到了一个类似使用的建议,

long long a=0x0000000000000001ULL .

效果很好。但问题是我有一个 jar 文件,需要将此 .cpp 文件转换为 .java。当它尝试从.cpp 文件转换.java 文件时,它无法识别 ULL。

现在我的问题是

1,对于这个场景,无论如何,我的 gcc 编译器是否可以接受 long long 值,而不是在末尾添加 ULL @ 2,或者建议我在 .java 文件中应该做什么来接受那个 long long 值(ULL)(我知道 java 只有 long 值可以保存 long long 值)

提前感谢:)

【问题讨论】:

    标签: java c++ g++ unsigned-long-long-int


    【解决方案1】:

    由于 C++ 不会在不修改源代码的情况下编译为 java,因此您可以只去除 ULL/LL 后缀(并将 long long 更改为 long)。您只需将其添加到转换时要更改的内容列表中 - 我没有发现问题?

    【讨论】:

    • @Logeshwari Ram:通过修改转换代码以便正确处理 LL 和 ULL。
    • 您好,谢谢您的回答。但是有 .jar 文件,它出于某种目的将我的 .cpp 转换为 .java。我写了 long long 值,在末尾添加 ULL @,是的,没有错误。但是为了让我的项目运行,.jar 文件会尝试将.cpp 转换为.java。现在由于 java 无法识别 ULL,我正面临着错误。我需要这两个文件与分配给它们的 long long 值完美配合。但是我该如何实现呢?
    • ya.. 加入了 LL 或 ULL 后,代码可以工作,但将 .cpp 转换为 .java 时失败了。. 有没有办法让代码在不使用 LL 或 ULL 的情况下运行 > ?还是让 java 文件接受该值?
    • @Logeshwari Ram:不。如果文字值不适合整数,您必须附加 LL 以便 gcc 接受它。
    【解决方案2】:

    那么,您到底想做什么,将 C++ 代码转换为 Java?

    Java 没有无符号整数类型,C++ 中的“long long”类型在 Java 中也不存在。 Java 有以下整数类型:

    byte - 8 位有符号整数

    short - 16 位有符号整数

    int - 32 位有符号整数

    long - 64 位有符号整数

    (还有char,在技术上是一个16位无符号整数,但用于保存字符数据)。

    如果您需要处理不适合 long 的数字,您可以在 Java 中使用 BigInteger

    【讨论】:

    • 您好,谢谢您的回答。但是有 .jar 文件,它出于某种目的将我的 .cpp 转换为 .java。我写了 long long 值,在末尾添加 ULL @,是的,没有错误。但是为了让我的项目运行,.jar 文件会尝试将 .cpp 转换为 .java。现在由于 java 无法识别 ULL,我正面临着错误。我需要这两个文件与分配给它们的 long long 值完美配合。但是我该如何实现呢?
    • 是什么程序将您的 C++ 代码转换为 Java?该程序需要更改某些内容(询问编写它的人)以支持这一点。
    【解决方案3】:

    long 在 Java 中可以保存 64 位,并在重要的地方具有签名行为。但是,这不会阻止您在其中存储无符号 64 位值。您需要为某些操作编写变通方法,但 +、-、*、==、!= 等都完全相同。

    【讨论】:

      猜你喜欢
      • 2014-11-03
      • 2012-01-27
      • 1970-01-01
      • 1970-01-01
      • 2016-07-29
      • 2011-04-08
      • 2015-08-22
      • 2013-06-21
      • 1970-01-01
      相关资源
      最近更新 更多