Why does Hex not read out in an array for LED "clock"?

Alright, lets get some questions taken care of.

AWOL:
You need to tell us what your expectations were, and how what you observed differs from that.

The lights (4 Leds) are by no means in order, I've written the binary down and it makes no sense. It appears random. The only solid thing I'm seeing is 0x8 every other clock cycle.

AWOL:

In my array I have binary "data[](0,0,0,0....1,1,1,1) counting up

That data is in decimal, and doesn't really count up.

Grumpy_Mike:

I have binary "data counting up

then you say

I try to replace the binary with hex "data"

These are not the same, to put that latter array into binary you need
data[] = { B00000000, B00000001, B00000010, B00000011 ....

I did not realize that if I was to place "B" it would represent a Byte. I was simply putting a single string of binary in and have it segmented by "col_len" so when I have

int data[] = {0,0,0,0,0,0,0,1,0,0,1,0,0,0,1,1,0,1,0,0,0,1,0,1,0,1,1,0,0,1,1,1,1,0,0,0,1,0,0,1,1,0,1,0,1,0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,1,1,1,1};

One of the if loops (last one using variable c in it) cuts up the array into 4 bit chunks. So if you look at it in 4 bit segments, you see the count up from 0000 to 1111.

Maybe I'm making the wrong assumption, but I like hex more and thought it'd be easier to code especially when long term this POV will be interacting w/ an external memory for larger storage.