У меня есть два символа = 4 байта, которые представляют целочисленное значение (полученное из потока).
Как я могу скопировать их в примитивную переменную int?
Вам лучше читать 4 байта как int с самого начала.Однако, чтобы превратить два символа в int, вы можете использовать
int
char ch1, ch2; int i = (ch1 << 16) + ch2; // or ch2 << 16 + ch1
. Вы должны знать, является ли порядок младшим или старшим.
Вот один из возможных способов сделать это:
char a = 0x00FF; char b = 0x0F0F; int i = b << 16 | a;
НО: вам придется беспокоиться о порядке байтов и о том, что int подписано.