обработка: преобразовать int в байт - PullRequest
2 голосов
/ 02 июня 2010

Я пытаюсь преобразовать int в byte при обработке 1.0.9.

Это фрагмент кода, с которым я работал:

byte xByte = byte(mouseX);
byte yByte = byte(mouseY);  
byte setFirst = byte(128);
byte resetFirst = byte(127);

xByte = xByte | setFirst;
yByte = yByte >> 1;
port.write(xByte);
port.write(yByte);

Согласно API обработки это должно работать, но я получаю сообщение об ошибке на xByte = xByte | setFirst;, которое говорит:

cannot convert from int to byte

Я попытался преобразовать 128 и 127 в соответствующие им шестнадцатеричные значения (0x80 и 0x7F), но это тоже не сработало. Я перепробовал все упомянутое в API, а также в некоторых других блогах, но мне кажется, что мне не хватает чего-то очень тривиального.

Буду признателен за любую помощь.

Спасибо.

1 Ответ

1 голос
/ 02 июня 2010

Я никогда раньше не использовал Processing, но возможно, оператор | возвращает целое число независимо от типов аргументов. Попробуйте изменить проблемную строку на

xByte = byte(xByte | setFirst);

...