java - 如何在 C 中使用 Long 数据类型?

标签 java c rounding long-integer

我对 C 中的 longs 工作时间有点困惑。

如果我在 Java 中询问 long 的最大值,我会得到一个以 quintillions 为单位的数字。如果我在 C 中要求它,有符号或无符号,它是数十亿。

Java 是建立在 C 之上的...那么差异从何而来?

我还尝试用 long long 值、unsigned/signed long 值和 long int 值来表示文字。他们似乎都无法处理超过 50 亿的数字。为什么?我做错了吗?

最佳答案

C 标准将 long 定义为至少与 int 一样大。实际大小取决于实现。 Java 不是这种情况,其中 long 要求为 64 位长。

C99 标准定义了固定大小的整数类型,例如 stdint.h 中定义的 int64_t,如果您需要在所有平台上使用固定大小的整数,您可以使用它。

关于java - 如何在 C 中使用 Long 数据类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8622669/

相关文章:

java - 将数字四舍五入到百位

java - 有没有办法列出在java中加载字体的所有目录?

c - 如何屏蔽 32 位整数的最右边的 16 位?

java - 使用 JAX-WS 声明 Web 方法中未使用的类型

c - C 程序中使用 Malloc 和 for 循环出现意外结果

c - 找到可能的总和数的有效方法

matlab - 如何显示一定数量的小数位数

给定一系列任意数字的 PHP,如何在折线图上选择逻辑最大值?

JavaFx setOnCloseRequest & 文件检查等待

java - 自签名证书的 HttpClient 4.1.x 错误 (javax.net.ssl.SSLPeerUnverifiedException : peer not authenticated )