Мне нужно написать java-программу, которая будет отправлять байты через последовательный порт. Я использую библиотеку rxtx. Проблема в том, что в Java все подписано, и в одном байте мне нужно отправить 0xfc, а в Java это подписано, и определяется как -4. Итак, как мне сделать беззнаковый байт в java, чтобы в одном байте я мог отправить от 0 до 255?
Создать байт без знака для использования последовательного порта
Ответы (3)
Это будет работать
public static int unsignedToBytes(byte b) {
return b & 0xFF;
}
person
Ruchira Gayan Ranaweera
schedule
26.06.2013
Ничего страшного - можно просто кинуть куда надо. Если у вас есть API, который позволяет вам отправлять байты, и вы отправляете байт -4 в Java, шаблон битов будет таким же, как для беззнакового байта 0xfc.
Если у вас есть значение как int или short в диапазоне 0-255, просто приведите его к byte, и снова оно будет представлять правильный битовый шаблон, даже если значение станет отрицательным, если исходное значение было выше 127.
person
Jon Skeet
schedule
26.06.2013
Для байта b b & 0xFF вернет целочисленное значение без знака. Это вас устроит??
person
stinepike
schedule
26.06.2013