我怎样才能在java中使用unsigned

时间:2011-06-23 19:58:36

标签: java file-io

我需要将integer转换为byte并在文件中写入字节,但是当我将大于128的数字转换为字节时转换为负数。 我需要使用unsigned char,但我不知道如何。 在c ++中我们写unsigned但是它在java中是怎么回事?

3 个答案:

答案 0 :(得分:5)

默认情况下,Java没有unsigned类型,但您可以解决它,请参阅Java and unsigned int, unsigned short, unsigned byte, unsigned long, etc. (Or rather, the lack thereof)

答案 1 :(得分:2)

Java没有无符号类型。我建议你使用short,因为它可以容纳C和C ++等语言中unsigned char可用的所有值。

您可能会发现this question很有趣。

答案 2 :(得分:1)

写入字节不是问题,无论您使用write(int)还是writeByte(byte)都无关紧要,因为无论字节是有符号还是无符号,写入的数据仍然相同。使用read()读取字节也不是问题,因为它返回无符号字节。只有在读入字节数组时才需要小心,因为在使用时必须记住使用0xFF屏蔽每个字节。