gpt4 book ai didi

java - 使用java无法将int转换为byte

转载 作者:行者123 更新时间:2023-12-01 11:22:37 25 4
gpt4 key购买 nike

我正在尝试将整数值转换为字节,即无符号字节。我听说java bytes只提供到127。然后我尝试重新编辑我的代码

这是我编辑后的代码:

Integer servo1 = 5117;
Byte data1;
data1 = (((byte)servo1) >> 6 & (byte)0xFF);

如果我想在字节数组中添加一个字节,可以吗?

这是代码:

send = {(byte)0xE1, data1, data2, data3};

现在错误显示整数无法转换为字节我可以知道如何解决这个问题吗?谢谢

最佳答案

你的语法不太正确。如果您想将右侧的整个表达式分配给该变量类型,则需要将其转换为 byte。所以使用这个:

    Integer servo1 = 5117;
Byte data1;
data1 = (byte) ((servo1) >> 6 & 0xFF);

您可能对有关类型转换的 Java 文章(特别是有关整数提升的部分)感兴趣:https://docs.oracle.com/javase/specs/jls/se7/html/jls-5.html

关于java - 使用java无法将int转换为byte,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31063428/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com