2013-09-15 4 views
2

Есть ли Java-библиотека, реализующая стандартные типы данных, поскольку они доступны в C?stdint.h для Java?

В 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()); 
+0

Вы попробовали 'unsigned' или' unsigned byte'? –

+1

К сожалению, нет, у Java нет неподписанных примитивных типов, и это головная боль при разговоре со встроенным оборудованием. – chrylis

+0

@chrylis 'char' не имеет знака. – arshajii

ответ

2

есть обходной путь, попробуйте System.out.println("test = " + (0xff & test)); вы получите 243

+0

нормально, но как бы вы использовали это в коде, где 'test' может быть динамическим? мне кажется немного сложнее. – Gianmarco

0

Я не думаю, что есть какая-либо хорошая библиотека, которая реализует C/стандарт POSIX типов данных.

Недавно я должен был использовать предопределенные константы POSIX, такие как S_IREAD или S_IFDIR в программе Java, и я должен был создать свой собственный класс списка констант ...

Как предложил @Evgeniy Дорофеев, попытаться найти обходные пути :)

 Смежные вопросы

  • Нет связанных вопросов^_^