2013-06-26 5 views
0

Мне нужно написать программу java, которая будет отправлять байты через последовательный порт. Я использую библиотеку rxtx. Проблема в том, что в Java все подписано, и в одном байте мне нужно отправить 0xfc, но в Java это подписано, и оно определено как -4. Итак, как я могу сделать unsigned байт в java, так что в одном байте я могу отправить от 0 до 255?Создать беззнаковый байт для использования последовательного порта

ответ

0

Это будет работать

public static int unsignedToBytes(byte b) { 
    return b & 0xFF; 
} 
3

Все в порядке - вы можете просто бросить по мере необходимости. Если у вас есть API, который позволяет отправлять байты, и вы отправляете байт -4 в Java, то бит бит будет таким же, как для байта без знака 0xfc.

Если у вас есть значение как int или short в диапазоне 0-255, просто бросить, что byte, и снова он будет представлять собой правильный битовый шаблон, даже если значение будет отрицательным, если исходное значение было выше 127.

+0

спасибо Jon тарелочкам! –

0

За байт b, b & 0xFF будет возвращать целое значение без знака .. это будет хорошо для вас ??