Quote:
Originally Posted by icecubeflower
It says in Big endian C8 is 11001000
|
C8 hex is always 11001000 binary.
It is written in text with the most significant part
on the left.
Big endian means most significant part
first, while little endian means least significant part
first.
If you can't understand the big difference between "on the left" and "first", you're going to be a little confused here.
In English we read left to right, so we think left is first. Inside a computer left and right don't have that kind of meaning.
Quote:
So what is big endian? I don't get it. I keep reading it has to do with the most significant bit.
|
Next trick is figuring out what "part" means. Big endian means the most significant
part first. But it is ambiguous about what "part" means.
In that midi file document, "part" means "byte". They are not telling you the sequence of bits within a byte. They are telling you the sequence of bytes within any multi byte quantity.
Quote:
I was using little endian then how would my 16 numbers above read?
|
By "read" you are pulling in a "left to right" component that only leads to confusion in this topic.
You also are looking at just half a byte at a time. Serial (bit at a time) transfer and storage of data in and between computers is normally little endian regarding the sequence of bits within each byte. But that level (such as transferring bits on the SATA cable between the disk and the ram) is almost entirely transparent to the level of programming MIDI files.
So if you insist on left == first then to describe bit level little endian, you would need to write the four digits of each of your binary numbers backwards. I prefer the view that says you write them exactly as you have but read them starting at the right.
But all of the bit level sequence is a nearly pointless side question, because that MIDI spec is just talking about byte sequence. The bit sequence within a byte is whatever is natural to the computer you are on.