当前位置: 首页 > 面试题库 >

如何将Int转换为无符号字节并返回

邹禄
2023-03-14
问题内容

我需要将数字转换为无符号字节。该数字始终小于或等于255,因此它将适合一个字节。

我还需要将该字节转换回该数字。我将如何用Java做到这一点?我尝试了几种方法,但均无效果。这是我现在想要做的:

int size = 5;
// Convert size int to binary
String sizeStr = Integer.toString(size);
byte binaryByte = Byte.valueOf(sizeStr);

现在将该字节转换回数字:

Byte test = new Byte(binaryByte);
int msgSize = test.intValue();

显然,这是行不通的。由于某种原因,它总是将数字转换为65。有什么建议?


问题答案:

字节始终用Java签名。但是,您可以通过将二进制与0xFF相乘来获得其无符号值:

int i = 234;
byte b = (byte) i;
System.out.println(b); // -22
int i2 = b & 0xFF;
System.out.println(i2); // 234


 类似资料:
  • 问题内容: 为了转换字符串,我将其转换为字节,如下所示: 为了转换,我做了:显然不起作用。我将如何转换回去? 问题答案: 您原来的城市名称中有哪些字符?尝试这样的UTF-8版本:

  • 问题内容: 在Java中,是否有一种简单而优雅的方法将无符号字节值转换为有符号字节值?例如,如果我所拥有的只是int值240(二进制(24位+ 11110000)= 32bits),如何获得该int的带符号值? 问题答案: 除了,Java没有其他无符号值。考虑以下代码段: 结果将为-1,因为最低的8位已复制到byte变量中。

  • 问题内容: 如何在python中将字节字符串转换为int? 这样说: 我想出了一个聪明/愚蠢的方法: 我知道必须有内置的东西或在标准库中可以更简单地执行此操作… 这与转换可以使用int(xxx,16)的十六进制数字字符串不同,但是我想转换一个实际字节值的字符串。 更新: 我有点喜欢James的回答,因为它不需要导入另一个模块,但是Greg的方法更快: 我的骇客方法: 进一步更新: 有人在评论中问导

  • 问题内容: 使用Swift,我试图获取应用程序文本视图中输入的数字列表,并通过为成绩计算器提取每个数字来创建此列表的总和。而且,用户输入的值量每次都会更改。一个例子如下所示: 字符串:98,99,97,96 …试图获取:98 + 99 + 97 + 96 … 请帮忙!谢谢 问题答案: 使用打破了逗号分隔的字符串。 使用前,每一个元素后删除空格 使用每个元素转换为整数。 使用(以前称为)删除所有无法

  • 我正在解决一个问题,其中的任务是在用户提到的给定行输出pascal三角形的结果。 https://leetcode.com/problems/pascals-triangle-ii/ 我写了我的解决方案,其中有存储巨大阶乘结果的问题。 通过这些问题, 整数类型可以在C中存储哪些范围的值 长到无符号的字节数是多少? 并通过其他一些来源,我进行了以下更改,这给了我所需的结果。 由于“C”是int类型,

  • 问题内容: 如何在python中将字节字符串转换为int? 这样说: 我想出了一个聪明/愚蠢的方法: 我知道必须有内置的东西或在标准库中可以更简单地执行此操作… 这与转换可以使用int(xxx,16)的十六进制数字字符串不同,但是我想转换为实际字节值的字符串。 更新: 我有点喜欢James的回答,因为它不需要导入另一个模块,但是Greg的方法更快: 我的骇客方法: 进一步更新: 有人在评论中问导入