【问题标题】:How to convert int to byte in Java? [closed]如何在 Java 中将 int 转换为 byte? [关闭]
【发布时间】:2020-10-09 23:58:38
【问题描述】:

我在 java 中有这个整数:

int i = 1067030938;
byte b = (byte) i;

这给了我:

-102

我怎样才能从 b 回到 i


我试过了:

b = b & 0xff;

但这给了154

【问题讨论】:

  • 这能回答你的问题吗? Converting from byte to int in java
  • @fuggerjaki61 嘿,谢谢你的链接,我之前检查过:) 如果你看到我正在使用b & 0xff(那里也建议了解决方案),但由于某种原因它不起作用。此外,我使用的是 java 11,出于某种原因,int i = Byte.intValue(); 不是一个选项。如果您认为我使用错误,请告诉我!一块
  • int 值(1067030938)远远超出了字节类型的范围(-128 到 127)。您想在这里实现什么目标?
  • 我真的不明白你想用这个来归档什么。铸造(int) b 返回-102。你期望什么输出?
  • @hispanicprogrammer 你已经被多次告知这是不可能的!

标签: java image-processing int byte


【解决方案1】:

如果你有

int i = 1067030938;

只想要低8位,然后做

i &= 0xff;

System.out.println(i);

打印

154

如果您想要转换后的 int 的有符号值,请执行此操作

i = (byte)i; // will be -102

【讨论】:

  • 从字节返回整数值1067030938 的正确方法是什么?
  • 你不能。一个字节只有 8 位。最大值为 127。其他位在转换中丢失。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-05
  • 1970-01-01
  • 2014-05-04
  • 2021-12-12
  • 2010-11-08
相关资源
最近更新 更多