У меня есть неподписанное целое число, которое было преобразовано в подписанный символ вроде этого
unsigned int b = 128;
char a[4];
a[0] = b >> 24;
a[1] = b >> 16;
a[2] = b >> 8;
a[3] = b >> 0;
Не зная, какое значение b
, могу ли я вернуть номер? Приведенный ниже метод не работает для чисел, превышающих 128. Кажется, что существует некоторая двусмысленность в получении числа обратно из массива.
unsigned int c = 0;
c += a[0] << 24;
c += a[1] << 16;
c += a[2] << 8;
c += a[3];
cout<<c<<endl;