Tag: hex

Java中的十进制到hex转换器

我有一个家庭作业,我需要在十进制,二进制和hex之间进行三向转换。 我需要帮助的函数是将十进制转换为hex。 我几乎不了解hex,但仍然如何将十进制转换为hex。 我需要一个接受int dec并返回String hex的函数。 不幸的是我没有这个function的任何草稿,我完全迷失了。 我只有这个。 public static String decToHex(int dec) { String hex = “”; return hex; } 此外,我不能使用像Integer.toHexString()或其他任何东西的预制函数,我需要实际制作算法,否则我就不会学到任何东西。

如何从Java中的十进制整数中获取hex值?

我不知道如何从Java中的整数值生成hex“0x83”字符。 我需要一个“0x83”值来表示西里尔字母中的一个字母(这封信: ѓ ),以便将它(字母)发送到我的打印机。 使用我的转换器(下面)将131(十进制0x83)转换为hex时,我得到三个数字:0x31,0x33和0x31。 public String toHex(String arg) { return String.format(“%x”, new BigInteger(arg.getBytes())); } 我需要从此转换中获得0x83。

JSpinner:显示一系列带符号的HexBinary值

在JSpinner显示一系列带符号的HexBinary数字的最佳方法是什么? 例如从0x8000到0x7ffe 我尝试了以下解决方案,没有太多运气: 使用带有默认格式化程序的JSpinnerNumberModel将int转换为Hexbinary。[无法显示范围的负部分] 使用JSpinnerListModel并将一个构造的HexBinary值列表传递给该范围(设计的解决方案中包含不必要的代码。不能完美地工作)。 有更好的通用解决方案吗?

比较Java中的两个hex字符串

我正在使用Java中的Chord协议实现一个简单的DHT。 细节并不重要,但我坚持的是我需要哈希字符串,然后查看一个哈希字符串是否“小于”另一个。 我有一些使用SHA1计算哈希值的代码,它返回一个40位长的hex字符串(Java中的String类型),例如: 69342c5c39e5ae5f0077aecc32c0f81811fb8193 但是,我需要能够比较其中两个,以便告诉我,例如: 0000000000000000000000000000000000000000 小于: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 这是完整的值范围,因为40位数字符串实际上代表0123456789ABCDEF范围内的40个hex数字 有谁知道如何做到这一点? 提前致谢。

如何在Java中将hex字符串转换为float?

如何在Java中将hex字符串转换为单精度浮点? 例如,如何实现: float f = HexStringToFloat(“BF800000”); // f现在应该包含-1.0 我问这个因为我试过了: float f = (float)(-1.0); String s = String.format(“%08x”, Float.floatToRawIntBits(f)); f = Float.intBitsToFloat(Integer.valueOf(s,16).intValue()); 但我得到以下exception: java.lang.NumberFormatException:对于输入字符串:“bf800000”

Java负int到hex和后退失败

public class Main3 { public static void main(String[] args) { Integer min = Integer.MIN_VALUE; String minHex = Integer.toHexString(Integer.MIN_VALUE); System.out.println(min + ” ” + minHex); System.out.println(Integer.parseInt(minHex, 16)); } } 给 -2147483648 80000000 Exception in thread “main” java.lang.NumberFormatException: For input string: “80000000” at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48) at java.lang.Integer.parseInt(Integer.java:459) at Main3.main(Main3.java:7) 这是怎么回事?

为什么Java能够将0xff000000存储为int?

Java中的整数最大值是2147483647,因为Java整数是签名的,对吗? 0xff000000的数值为4278190080。 但我看到Java代码是这样的: int ALPHA_MASK = 0xff000000; 有人可以开导我吗?

将hex字符串(hex)转换为二进制字符串

我发现以下方式进行hex到二进制转换: String binAddr = Integer.toBinaryString(Integer.parseInt(hexAddr, 16)); 虽然这种方法适用于小hex数,但hex数如下 A14AA1DBDB818F9759 抛出NumberFormatException. 因此,我编写了以下似乎有效的方法: private String hexToBin(String hex){ String bin = “”; String binFragment = “”; int iHex; hex = hex.trim(); hex = hex.replaceFirst(“0x”, “”); for(int i = 0; i < hex.length(); i++){ iHex = Integer.parseInt(""+hex.charAt(i),16); binFragment = Integer.toBinaryString(iHex); while(binFragment.length() < 4){ binFragment = "0" + binFragment; } bin […]

如何在Java中将hex字符串转换为字节值

我有一个String数组。 我想将其转换为字节数组。 我使用Java程序。 例如: String str[] = {“aa”, “55”}; 转换成: byte new[] = {(byte)0xaa, (byte)0x55}; 我能做什么?

Java:“背后的语法和含义? 二进制/地址?

嘿, 我想弄清楚[B @前缀在java中意味着什么。 当我尝试打印字节数组时它们出来了。 但是,大小为32和大小为4的字节数组的长度相同。 始终“[@ B1234567”。 这是什么? 此外,它们具有仅打印hex值的属性。 我知道它不能只是二进制打印,因为会出现随机扩展的ascii字符。 下面是byte []到byte []哈希表映射打印的示例,其中映射由冒号分隔,这些是4字节键和32字节元素的字节数组。 [B@1ef9157:[B@1f82982 [B@181ed9e:[B@16d2633 [B@27e353:[B@e70e30 [B@cb6009:[B@154864a [B@18aaa1e:[B@3c9217 [B@20be79:[B@9b42e6 [B@16925b0:[B@14520eb [B@8ee016:[B@1742700 [B@1bfc93a:[B@acb158 [B@107ebe1:[B@1af33d6 [B@156b6b9:[B@17431b9 [B@139b78e:[B@16c79d7 [B@2e7820:[B@b33d0a [B@82701e:[B@16c9867 [B@1f14ceb:[B@89cc5e [B@da4b71:[B@c837cd [B@ab853b:[B@c79809 [B@765a16:[B@1ce784b [B@1319c:[B@3bc473