I am sorry to bother people with silly questions, But I have no choice.
I have a statement
unsigned short a=4000, current_word;
current_word=a << 3;
Then I have another statement
unsigned long a=4000, current_word;
current_word=a << 19;
According to my knowledge they will contain the same value. Am I right?