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

Тема в разделе "Свободное общение", создана пользователем eva77, 17 янв 2011.

Статус темы:
Закрыта.
  1. eva77

    eva77 Гость

    Репутация:
    0
    Целочисленный тип 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:
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей