public static void leftshift_onebit(byte* input, byte* output) { int i; byte overflow = 0; for ( i=15; i>=0; i-- ) { output[i] = (byte)(input[i] << 1); output[i] |= overflow; overflow = (byte)(((input[i] & 0x80) != 0) ? 1 : 0); } }