Есть 4 байта в них записана информация как их прочитать сразу? так я считываю 2 байта и вывожу в 10-ричтной системе . Надо тоже самое только для 4 байт . И пояснить принцип. Или рассказать где можно об этом почитать ! char ch; inp.get(ch); unsigned short w = ch & 0xFF; inp.get(ch); w |= (ch & 0xFF) << 8; cout << dec << (int)w << endl;
Эта последовательность берет по одному байту из потока ввода и объединяет их в переменную dw типа unsigned int. Важно здесь использовать побитовое И(&) с маской 0xFF для правильного чтения данных и устранения знакового расширения.
Если вам интересно более подробная информация о работе с битами в C++, вы можете почитать о битовых операторах (&, |, <<, >>) и масках в документации или учебниках по языку программирования С++.
Для чтения 4 байт в переменную типа unsigned int можно использовать следующий код:
unsigned int dw = 0;char ch;
inp.get(ch);
dw = ch & 0xFF;
inp.get(ch);
dw |= (ch & 0xFF) << 8;
inp.get(ch);
dw |= (ch & 0xFF) << 16;
inp.get(ch);
dw |= (ch & 0xFF) << 24;
cout << dec << dw << endl;
Эта последовательность берет по одному байту из потока ввода и объединяет их в переменную dw типа unsigned int. Важно здесь использовать побитовое И(&) с маской 0xFF для правильного чтения данных и устранения знакового расширения.
Если вам интересно более подробная информация о работе с битами в C++, вы можете почитать о битовых операторах (&, |, <<, >>) и масках в документации или учебниках по языку программирования С++.