long example ejemplo data java char size

example - long java max value



¿Cuál es el tamaño de char[]? (3)

Estoy haciendo un algoritmo hash, el bloque de mensajes es de 512 bits. En C/C++ puedo almacenar en char[64] , pero Java char toma 2 bytes.

Pregunta: ¿512 bits de información son char[32] o char[64] ?


¿Por qué usar un char[] ?

Un valor hash consiste en byte , por lo que la opción lógica sería usar un byte[64] .

El tipo de datos char está destinado a ser utilizado como un personaje y no como un número.


Char es de 16 bits en Java. Entonces char [32] debería ser suficiente para 512bits. Creo que usar byte [64] es mejor, porque todos saben que un byte es de 8 bits y char [32] hace que el código sea más difícil de leer. Además, no almacena caracteres, sino bits.


De la documentación :

char : el tipo de datos char es un único carácter Unicode de 16 bits. Tiene un valor mínimo de ''/ u0000'' (o 0) y un valor máximo de ''/ uffff'' (o 65,535 inclusive).

Entonces, para almacenar 512 bits, debe tener una matriz de tamaño 32.