Tag: 长整数

如何在C中打印“unsigned long”?

我永远不能理解如何在C中打印unsigned long数据types 假设unsigned_foo是一个unsigned long ,那么我试试: printf("%lu\n", unsigned_foo) printf("%du\n", unsigned_foo) printf("%ud\n", unsigned_foo) printf("%ll\n", unsigned_foo) printf("%ld\n", unsigned_foo) printf("%dl\n", unsigned_foo) 而他们都打印某种-123123123号码,而不是unsigned long ,我有。

转换二进制表示?

我有下面的问题,所以我试图将一个双重转换为它的二进制表示,但使用这个Long.toBinaryString(Double.doubleToRawLongBits(d))没有帮助,因为我有大数字,龙不能存储它们即2^900 。 感谢任何帮助:)。

Java:0 <= x <n范围内的随机长整数

随机类有一个方法来在给定的范围内产生随机的int。 例如: Random r = new Random(); int x = r.nextInt(100); 这将产生一个大于或等于0且小于100的整数。我想用长号完全相同。 long y = magicRandomLongGenerator(100); 随机类只有nextLong(),但不允许设置范围。

长期在C / C ++

我正在GNU的C ++编译器上试试这个代码,我无法理解它的行为: #include <stdio.h>; int main() { int num1 = 1000000000; long num2 = 1000000000; long long num3; //num3 = 100000000000; long long num4 = ~0; printf("%u %u %u", sizeof(num1), sizeof(num2), sizeof(num3)); printf("%d %ld %lld %llu", num1, num2, num3, num4); return 0; } 当我取消评论行的注释时,代码不会编译并提供错误: 错误:对于长types,整数常量太大 但是,如果代码是按原样编译并执行的,则会产生比10000000000大的值。 为什么?

Java将长期转换为date?

我有很长的价值列表(例如:1220227200,1220832000,1221436800 …),我从networking服务下载。 我必须将其转换为date。 不幸的是,这样,例如: Date d = new Date(1220227200); 返回1970年1月1日。任何人都知道另一种方法正确地转换它?

如何将Long转换为byte 并返回到java中

如何将一个long转换为byte []并返回到Java中? 我试图将一个长转换为一个字节[],这样我就可以通过TCP连接发送字节[]。 另一方面,我想采取该字节[]并将其转换回双。 任何提示将不胜感激。