Как я могу использовать без знака в Java - PullRequest
0 голосов
/ 23 июня 2011

Мне нужно преобразовать integer в byte и записать байт в файл, но когда я преобразую число больше 128 в байт, преобразуем в отрицательное число.Мне нужно использовать неподписанный символ, но я не знаю как.в с ++ мы пишем unsigned но как это в Java?

Ответы [ 3 ]

5 голосов
/ 24 июня 2011

Java по умолчанию не имеет unsigned типов, но вы можете обойти это, см. Java и unsigned int, unsigned short, unsigned byte, unsigned long и т. Д. (Или, скорее, их отсутствие)

2 голосов
/ 24 июня 2011

Java не имеет неподписанных типов.Я предлагаю вам использовать краткое, так как оно может вместить все значения, доступные для беззнакового символа в таких языках, как C и C ++.

Вы можете найти этот вопрос интересным.

1 голос
/ 24 июня 2011

Запись байтов не является проблемой, не имеет значения, используете ли вы write(int) или writeByte(byte), поскольку записанные данные остаются одинаковыми, независимо от того, подписан байт или нет.Чтение байтов с использованием read() также не является проблемой, поскольку возвращает беззнаковые байты.Только когда вы читаете в байтовый массив, вам нужно быть осторожным, потому что тогда вы должны помнить, чтобы маскировать каждый байт 0xFF при его использовании.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...