Я пытаюсь создать 32-битный двоичный файл со всеми 0, кроме srt до конца, который будет 1 с.Таким образом, если srt равно 2, а end равно 7, я получу 00000000 00000000 00000001 11111100. Когда я делаю вторую смену, это дает больше 1 с вместо нулей, я не знаю почему.Очень хорошо знал Си и немного манипулировал, если кто-то мог объяснить, я был бы очень благодарен.
int groupOne(int srt, int end){
int mask =-1;
int ret;
ret = 1<<end;
ret=ret<<srt;
ret = mask+ret;
return ret;
}