# pset4, recover. size of hexadecimal 1 bit?

I don't understand something. In recover, to store the card data, I've used a buffer which is an array of 512 BYTES(i.e. uint8_t). In (almost) every element of the array is stored an hexadecimal value. We in fact look for buffer[i], buffer[i+1], buffer[i+2] and buffer[i+3] that should be the beginning of a jpg (where i is an unknown number). All things work in my work. But: Why is a hexadecimal value stored in 1 byte? I thought that a hexadecimal is a number like an int, whose size is 4 bytes. In fact I've initially used an array of 128 int (512byte) for reading the card data, and my code wasn't working. There should be something I couldn't understand...An explanation? Thanks

## 1 Answer

Don't confuse `hexadecimal` with a type of number. It is simply a way to write the binary values in a different way.

Each byte in the JPG is 8 bits long. Those 8 bits can be represented in binary, in hexadecimal, in decimal, etc, although those will all essentially mean the same thing.

So the first byte of a JPG is the value `0xff` (in hex), or `255` (in decimal) or `1111 1111` (in binary).