【发布时间】:2013-09-15 08:05:32
【问题描述】:
是否有实现标准数据类型的 java 库,因为它们在 C 中可用?
在Java中,一切都是签名的,所以使用byte来存储uint8_t会带来一些问题,例如:
byte test = (byte) 0xf3;
System.out.println("test = " + test);
打印
test = -13
而不是
test = 243
我想到了这样的事情:
UInt8 test = new UInt8(0xf3);
System.out.println("test = " + test.toInt());
【问题讨论】:
-
你试过
unsigned或unsigned byte吗? -
很遗憾,不,Java 没有无符号基元类型,与嵌入式硬件对话时很头疼。
-
@chrylis
char未签名。 -
@arshajii 没错,我忘了
char在技术上确实算作整数类型。 -
只是一个表示(约定):0xf3 == -13,问题出在哪里?