我正在使用十六进制值,我需要保留值的符号。我想知道是否有人有一种创造性的方法来保留整数的符号,而不使用biginger
?由于大小限制,我无法使用<code>BigInteger
我有一串十六进制值,如下所示:55844d000000000080027d801cf6380006f416c0c23d3e4000000000
String ssumI = null;
String ssumQ = null;
String sazI = null;
float isumI = 0;
float isumQ = 0;
float iazI = 0;
ssumI = data.substring(0,8);
isumI = (float)(Integer.parseInt(ssumI, 16)/Math.pow(2,bits));
//55844d00 parses fine
ssumQ = data.substring(8,16);
isumQ = (float)(Integer.parseInt(ssumQ, 16)/Math.pow(2,bits));
//00000000 parses fine
sazI = data.substring(16, 24);
iazI = (float)(Integer.parseInt(sazI, 16)/Math.pow(2,bits));
//80027d80 fails - NumberFormatException
//should be -1,036,173,760 and in the int range
我没有正确理解故障吗?失败似乎是由于设置了符号位。
如果 Java 8 可用,则可以在其中使用新的无符号操作(如何在 java 8 中使用无符号整数?
isumI = (float)(Integer.parseUnsignedInt(ssumI, 16)/Math.pow(2,bits));
但是由于每个字符串都有32位,我想bit
小于32。在这种情况下,您可以将其重写为
isumI = Integer.parseUnsignedInt(ssumI, 16)/(float)(1 << bits);
如果位
可以大于 32(但小于 64),请将 1
替换为 1L
此外,请注意,函数中的位是不变的,您应该替换<code>Math。pow(2位)1
无论如何,如果您打算将字符串用作大值,那么您应该将其存储在int
数组中。浮动
只有24位的意义,如果值很大,您可能会丢失低8位。
如果您想一次存储32位,在我看来,显而易见的解决方案是使用Long.parseLong
进行解析:
isumI = (float)(Long.parseLong(ssumI, 16) / Math.pow(2, bits));
(你肯定想把这些值保持为浮动
吗?你正在以这种方式丢失信息...)
问题内容: 我正在解析包含数字字符实体字符的XML,例如(但不限于)Java中的(换行符回车<>)。解析时,我将节点的文本内容附加到StringBuffer上,以便稍后将其写到文本文件中。 但是,当我将String写入文件或打印出文件时,这些unicode字符会被解析或转换为换行符/空格。 在Java中遍历XML文件的节点并将文本内容节点存储到String时,如何保留原始的数字字符实体字符符号?
rank ▲ ✰ vote url 33 526 73 660 url 把字符串解析成浮点数或者整数 在Python里,怎么样把一个数字型字符串像"545.2222"解析成对应的浮点值545.2222?或者把一个"31"解析成31? 我只是想知道怎么样才能解析一个浮点型字符串编程浮点数,或者整型字符串转换成整型? >>> a = "545.2222" >>> float(a) 545.222200
我试图在Java程序中格式化一些数字。这些数字将同时是双精度和整数。在处理double时,我只想保留两个小数点,但在处理整数时,我希望程序不影响它们。换句话说: 双重输入 双打-输出 整数-输入 整数-输出 有没有办法在同一个DecimalFormat实例中实现这一点?到目前为止,我的代码如下:
正如你从标题中所看到的,我正在努力对因子为2个素数的大整数进行强制因子分解。我想知道是否有一种方法可以在for循环中使用for循环。我知道这是一种很糟糕的方式,但无论如何我都愿意这样做。(我本来打算使用费马分解定理,但如果没有一些额外的方法/库,你就不能求大整数,我无法做到这一点),所以请尝试一下,看看你是否可以帮助我。大致如下: 显然,这太可怕了,我知道你不能通过说i.nextPossibleP
我有一个字符串 我想将加法与数字分开,以便我可以将其保留在其他字段中。如何在不丢失数字或加法的情况下拆分此值?最后,我想有 2 个具有以下类型的字段: 关于这个有很多问题,但是我找不到两个值都必须保存的问题。这就是为什么我创建了一个新问题。