整数大写对缓冲区写入有影响吗?
Does Capitalization of Integers Matter for Buffer Writing?
美好的一天,
我正在开发服务器模拟器,将 OPCode 数据发送到客户端。
我只是很好奇在使用整数时关于大写的格式是否重要,例如:
0xfe 对比 0xFE 或 0x01 对比 1
如有任何帮助,我将不胜感激,这样我就可以保持更一致的格式。
干杯
您似乎混淆了演示格式和内在价值。输出格式通常是十进制,但它们可以是您选择的任何基数(或者可以根据其解释实际表示一个字符)。所有这些指定字节值的方式都具有相同的十进制 15 固有值。它们在编译时被解释并以相同的方式存储在内存(或 class 文件)中。
for (byte b : new byte[] {0xF, 0xf, 0x0f, 0x0F, 0b1111, 017, 15}) {
byte ret = write(b);
System.out.println("Returned: " + ret);
System.out.println();
}
打印
Received: 15
Returned: 15
Received: 15
Returned: 15
Received: 15
Returned: 15
Received: 15
Returned: 15
Received: 15
Returned: 15
这个方法简单地接收一个字节值,打印它和returns相同的字节。
public static byte write(byte v) {
System.out.println("Received: " + v);
return v;
}
美好的一天,
我正在开发服务器模拟器,将 OPCode 数据发送到客户端。
我只是很好奇在使用整数时关于大写的格式是否重要,例如:
0xfe 对比 0xFE 或 0x01 对比 1
如有任何帮助,我将不胜感激,这样我就可以保持更一致的格式。
干杯
您似乎混淆了演示格式和内在价值。输出格式通常是十进制,但它们可以是您选择的任何基数(或者可以根据其解释实际表示一个字符)。所有这些指定字节值的方式都具有相同的十进制 15 固有值。它们在编译时被解释并以相同的方式存储在内存(或 class 文件)中。
for (byte b : new byte[] {0xF, 0xf, 0x0f, 0x0F, 0b1111, 017, 15}) {
byte ret = write(b);
System.out.println("Returned: " + ret);
System.out.println();
}
打印
Received: 15
Returned: 15
Received: 15
Returned: 15
Received: 15
Returned: 15
Received: 15
Returned: 15
Received: 15
Returned: 15
这个方法简单地接收一个字节值,打印它和returns相同的字节。
public static byte write(byte v) {
System.out.println("Received: " + v);
return v;
}