If the byte value increase as 0-127, then -128 to 0 and then the next significant bit is incremented. How can I add two 8 byte numbers?
5824 samples =  0 0 0 0 0 0 22 -64
6272 samples =  0 0 0 0 0 0 24 -128
-----------------------------------
12096 samples = 0 0 0 0 0 0 47 64
5824 samples + 6272 samples = 12096 samples
I am incrementing the byte array using this code:
public static byte[] byteIncrement(byte[] array) {
    byte[] r = array.clone();
    for ( int i = array.length - 1; i >= 0; i-- ) { // LSB to MSB
        byte x = array[ i ];
        if ( x == -1 )
            continue;
        r[ i ] = (byte) (x + 1);
        Arrays.fill( r, i + 1, array.length, (byte) 0 );
        return r;
    }
    throw new IllegalArgumentException( Arrays.toString( array ) );
}
For example when I increment this byte array 5284 times I get value given above of 5824 samples:
 byte[] array = {(byte) (0), (byte) (0), (byte) (0), (byte) (0), (byte) (0), (byte) (0), (byte) (0), (byte) (0)};
 byte[] incrementedarray = byteIncrement(array);
 for(int k=1;k<=5823;k++) { // 5824 samples for 1st page
        incrementedarray = byteIncrement(incrementedarray);
 }
So my question is, how to add such 8 byte (64 bit) numbers in the manner described above. I am using byte arrays because the granule position in an OGG audio bit stream is stored in this way. I am trying to combine two bit streams for which I have to do such addition.
longs instead of arrays of 8bytes?