I understand that there are similar questions out there. But what I am curious about is why a logical left shift is the same as an arithmetic left shift.
I understand that an arithmetic and logical left shift are technically the same, as the msb (most significant bit) is not preserved in both the operations, and the msb is replaced with a 0, and all the bits are simply "shifted" left. But, why can't we preserve the msb whilst shifting the rest of the bits left for the left arithmetic shift? The arithmetic right shift preserves the msb to denote a signed bit, so why aren't we doing the same for arithmetic left shift?
For example, in Java: ">>>" is logical right shift, and ">>" is arithmetic right shift, but "<<" performs both arithmetic/logical left shift even if the signed bit is not preserved.