перевести его сначала в two's complement, а затем ответ записать в 16-ном формате 0x..
Перевел
-30000=0111 0101 0011 0000
Перевернул
1000 1010 1100 1111 прибавил 1= 1000 1010 1101 0000
Получилось
0х00008AD0
Посмотрел в инете ответ
А там
0хFFFF8AD0
Вопрос, откуда взялись F-ы???
Или я изначально неправильно перевёл -30000?
четыре эфки дают -1
И перевёл ты правильно
и не только F, в ассемблере числа от 8000h до FFFFh в некоторых случаях ведут себя как отрицательные числа
Обсуждают сегодня