Tag: 长整数

Java中的长分区没有按预期工作

class LongDiv{ public static void main(String [] args){ final long x = 24*60*60*1000*1000; final long y = 24*60*60*1000; System.out.println(x/y); } } 虽然预期的答案是1000,但javac给它为5.原因?

为什么不对所有整数值使用long

在我的Java类中,我们刚刚了解了以下每种原始数据类型: byte short int long 由于long数据类型包含最多位,因此专门使用long数据类型以避免限制是否有意义? 问题 仅使用long数据类型是否有特殊的垮台? 使用例如int数据类型而不是long数据类型是否有意义?

Java RSA加密

我试图来回编码一个简单的字符串“测试”。 public static String encode(Key publicKey, String data) throws NoSuchAlgorithmException, NoSuchPaddingException, InvalidKeyException, IllegalBlockSizeException, BadPaddingException { byte[] byteData = data.getBytes(); // convert string to byte array Cipher cipher = Cipher.getInstance(ALGORITHM); // create conversion processing object cipher.init(Cipher.ENCRYPT_MODE, publicKey); // initialize object’s mode and key byte[] encryptedByteData = cipher.doFinal(byteData); // use object for encryption return new String(encryptedByteData); // […]

Java – 错误:long n = 8751475143;

这个数字属于长距离,为什么我会得到错误: Exception in thread “main” java.lang.Error: Unresolved compilation problem: The literal 8751475143 of type int is out of range

Java:有效地将long数组转换为字节数组

我有longs我要写入磁盘的longs 。 最有效的磁盘I / O函数采用字节数组,例如: FileOutputStream.write(byte[] b, int offset, int length) …所以我想首先将long[]转换为byte[] (每个long 8个字节)。 我很难找到一个干净的方法来做到这一点。 似乎不允许直接类型转换: ConversionTest.java:6: inconvertible types found : long[] required: byte[] byte[] byteArray = (byte[]) longArray; ^ 通过迭代数组很容易进行转换,例如: ByteBuffer bytes = ByteBuffer.allocate(longArray.length * (Long.SIZE/8)); for( long l: longArray ) { bytes.putLong( l ); } byte[] byteArray = bytes.array(); …然而,这似乎远不如简单地将long []视为一系列字节。 有趣的是,在读取文件时,使用Buffers很容易从byte[] “转换”为long: […]

解析长到负数

码: public class Main{ public static void main(String[] a){ long t=24*1000*3600; System.out.println(t*25); System.out.println(24*1000*3600*25); } } 这打印: 2160000000 -2134967296 为什么? 感谢所有的答复。 是数字后使用L的唯一方法吗? 我试过(long)24*1000*3600*25但这也是否定的。

当你需要存储(非常)大数字时该怎么办?

我试图做一个项目欧拉问题,但它涉及添加一个非常大的数字的数字。 (100!) 使用Java int和long太小了。 谢谢你的任何建议

org.json.JSONObject.getLong给出了不精确的结果

在android中,我们可以看到附图,我从服务器收到的json是“id = -705156352446547 2446 ”,但代码jsonObject.getLong(“id”)给出-705156352446547 2512 。 我可以看到每个getLong转换在最后4位数中有不精确的结果(或丢失精度?)。 我错过了什么吗? 我的设置:java 1.6.0_41,Android 4.1.2,IntelliJ 12 IDE。

如何生成String的长哈希?

我有一个java applciation,我想在其中生成字符串的long id(为了在neo4j中存储这些字符串)。 为了避免数据重复,我想为存储在一个long整数中的每个字符串生成一个id,对于每个字符串应该是唯一的。 我怎样才能做到这一点 ?

无法从类型对象转换为long

我有一个名为table的哈希table 。 类型值很long 。 我正在使用.values()获取值。 现在我想访问这些值。 Collection val = table.values(); Iterator itr = val.iterator(); long a = (long)itr.next(); 但是当我试图得到它时,它会给我错误,因为我无法从类型object转换为long 。 我怎么能绕过它呢?