Переполнение Integer (turbo Pascal)

  • Автор темы eva77
  • Дата начала
Статус
Закрыто для дальнейших ответов.
E

eva77

Гость
#1
Целочисленный тип integer определяет числа в диапазоне (-32768..32767), которые представляются в формате с фиксированной точкой. В случае присваивания переменной этого типа числа, выход. за пределы максимально\минимально допустимого, паскаль ошибки переполнения разрядной сетки не выдаёт, зато переменная принимает значения, зависимость между которой с правильным результатом я установить не могу.
Вот некоторые примеры:
1)48000(10)=1011 1011 1000 0000(2),
Но на мониторе: -17536(10)=-100 0100 1000 0000(2)
2)90000(10)=1 0101 1111 1001 0000(2), а выводит строку:
24464(10), (101 1111 1001 0000 в двоичной)
3)56000(10) =1101 1010 1100 0000, на мониторе:
-9536(10) (10 0101 0100 0000 в двоичной с.с.)
Объясните ,пожалуйста, каким образом получаются именно такие числа: я не могу есть, я не могу спать :lovecodeby:
 
Статус
Закрыто для дальнейших ответов.