i really like these presentations however i got lost on this one. In the diagram at the 3:02 mark the number of 0 bits between the first two 1's is 23 so why is the 2nd bit pattern for a number of 15 (001111) and not 23 (0010111)? Also the 4th 7 bit chunk has a number 40 (0101000).
I know why and it's simple. A) I'm an idiot and I can't be bothered to count the bits correctly. B) This is what happens when you write the script and then tweak the animation later. Sorry about that. I will delist this video and make another one about bit sets but better, but it's going to take some time so let me add a correction in the video description.
@@LevelUppp ahh ok. It's late at night here and i was starting to think I should be counting in octal or something like that lol. No worries and thanks for your videos.
I have a problem with understanding in 2:40 how the 7-bit blocks are populated. We have numbers 0 and 1, but in this block they are in postion 0 and 5. Why?
In the first block we have 2 bits set to 1: So we set the 0 bit (since it tells us if we have a run of ones or zeros) and the 6th bit since counting from the right to left it's the 2nd bit and what we do here is we encode the count so 2nd bit is 2. What we do here is encoding the bits from right to left.
I think I get it now. The first bit in 7-bit block is indicating what the remaining 6 bits would mean. If its 1, then it would mean we have treat 1s as 1s in that initial big bytes block. If its 0, then it would mean we treat 1s as 0s. So if we have 100_0010 then it means that we treat te 6 right most bits as 1s, so the 6 bits are 000010 and its number 2 in decimal, so 100_0010 represents 2 consecutive ones. Then if we have 000_1111 it means we treat 6 right most bits as 0s, so 001111 in decimal is 15, so 000_1111 is 15 consecutive zeros
So in other words we take as many 7-bit blocks as there are consecutive ones or zeros, so that we can encode number of their consecutiveness (is that even a word?) inside each 7-bit block. This is cool
en.wikipedia.org/wiki/Bit_array en.wikipedia.org/wiki/Run-length_encoding Here's some sample code for the bit set: gist.github.com/badamczewski/9a5aa6fbec385061b430465ed043bf5b (It's in C# but the code is very simple so it shouldn't be hard to write this in your language of choice)