处理:将int转换为byte

发布于 2024-09-03 10:35:39 字数 673 浏览 9 评论 0原文

我正在尝试在处理 1.0.9 中将 int 转换为 byte

这是我一直在使用的代码片段:

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 以及其他一些博客中提到的所有内容,但我觉得我错过了一些非常微不足道的东西。

我将不胜感激任何帮助。

谢谢。

I'm trying to convert an int into a byte in Processing 1.0.9.

This is the snippet of code that I have been working with:

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);

According to the Processing API, this should work, but I keep getting an error at xByte = xByte | setFirst; that says:

cannot convert from int to byte

I have tried converting 128 and 127 to they respective hex values (0x80 and 0x7F), but that didn't work either. I have tried everything mentioned in the API as well as some other blogs, but I feel like I'm missing something very trivial.

I would appreciate any help.

Thank you.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

葵雨 2024-09-10 10:35:39

我以前从未使用过处理,但无论参数的类型如何,| 运算符都可能返回一个整数。尝试将有问题的行更改为

xByte = byte(xByte | setFirst);

I've never used Processing before, but it's possible the | operator returns an integer regardless of the arguments' types. Try changing the problematic line to

xByte = byte(xByte | setFirst);

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文