java - Java 中的字节 0xFF (11111111) 发生了什么?

标签 java sockets networking bit bitwise-operators

我需要将字节 0xFF 发送到客户端,但是当我这样做时:

byte toSend = 0b11111111;
// or
byte toSend = 0xFF;

我收到一个编译错误,发送它无法从 int 转换为 byte。

我想确保我发送的字节的所有 8 位都设置为 1。我如何在 Java 中做到这一点?

最佳答案

您可以将其转换为字节:

byte toSend = (byte)0xFF;

忘记我答案的其他部分。我有点失眠了。实际上它是 -1,表示为 11111111。但是 (byte)0xFF 工作得很好。

关于java - Java 中的字节 0xFF (11111111) 发生了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30074590/

相关文章:

java - 将 Java 日期转换为另一种时间作为日期格式

Java:从字符串中获取变量名

java - spring-session是否用HttpSession保存bean?

c - 抽象 UDP 和 TCP 发送/接收过程

java - 无法访问类型 ... 的封闭实例

docker - 如何随意模拟每个Docker容器的网络掉线?

java - 为什么我的 Java repaint() 方法不起作用?

c# - 序列化字节数组与 XML 文件

linux - 在 Linux 中安装 libnetfilter 队列时出现 libmnl 问题

c++ - Boost Socket 在 close() 上崩溃