Я превратитьObjective C неподписанные символ отрицательному Int
unsigned char x = 0xEC
в int y = -20
unsigned char x = 0xF0
в int y = -16
, если я бросаю, как это (при условии, x = 0xF0
)
int y = (int)x
I получите x = 240
, то есть правильное десятичное представление 0xF0
. Где я ошибаюсь? Как я могу получить отрицательное число?
Вы пытались присвоить 'unsigned char'' char'? А затем 'char' на' int'? – rmaddy
@rmaddy прав. Вы хотите, чтобы высокий бит установлен в подписанном 8-битном типе данных, а затем подписывается расширение, когда вы переходите к большему типу данных. –
@rmaddy работает отлично! Поместите свой комментарий в ответ, чтобы я мог принять его как правильно. Благодарю. – Fry