javaarraysbytepaddingnibble

Add Nibble to an array of bytes


I have an array of 9 bytes in Java but my function need to return an array of size 10. The difference I need to pad with Nibbles.

If a nibble is a half of a byte, can I simply add a (byte) 0 to an array at the end or adding 2 nibbles instead will make a difference? Is there a difference between 2 nibbles and a (byte) 0 in this case?


Solution

  • If a nibble is a half of a byte, can I simply add a (byte) 0 to an array at the end or adding 2 nibbles instead will make a difference?

    Is there a difference between 2 nibbles and a (byte) 0 in this case?

    No there is no difference since a byte (8 bits) is made up 2 x nibble (4 bits).

    Can I even put 8.5 bits into an array of bytes and then check the array for "length" and get back 8.5 as value?

    For 8.5 bits? At this point it will be returned as length of 2 bytes. If you mean 8.5 bytes then it's returned as 9 bytes.

    Remember The smallest data-type is a byte not a nibble!! By declaring a type byte (even with no value assigned) you've automatically made 8 bits of 0000 0000. Nibbles just make it easier to visualize the bits within a byte's value (when written in hex notation).

    For example the single byte value 0xF0 can be visualised as two nibbles of 1111 0000. Now for a byte 0xBA, if you wanted just one nibble you'll have to make the byte as either 0x0B or 0x0A...

    I have an array of 9 bytes in Java but my function need to return an array of size 10. The difference I need to pad with Nibbles.

    Your function returns 80 bits. With 9 bytes you'll have a total 72 bits so you pad with extra 8 bits which means add one byte extra of zero value (eg: 0x00).