Редактирование:
Дополнительный код
Перейти к навигации
Перейти к поиску
Внимание:
Вы не вошли в систему. Ваш IP-адрес будет общедоступен, если вы запишете какие-либо изменения. Если вы
войдёте
или
создадите учётную запись
, её имя будет использоваться вместо IP-адреса, наряду с другими преимуществами.
Анти-спам проверка.
Не
заполняйте это!
'''Дополнительный код''' (''англ.'' two’s complement) используется в [[Каллисто]] для машинного представления целых чисел со знаком (''англ.'' signed integer). Это та же система кодирования чисел «дополнение до двух», что используется в [[Микроконтроллер|микроконтроллере ЭКВМ]] и всех персональных компьютерах с процессорами фирмы «Интел». Старший бит определяет знак числа. Если старший бит равен нулю, число считается положительным, а его абсолютное значение (модуль) совпадает с тем, как записываются беззнаковые целые числа (''англ.'' unsigned integer). Если старший бит равен единице, число считается отрицательным. Абсолютное значение данного числа можно узнать, [[NOT|изменив все его биты]] и прибавив к результату единицу. == Целые числа в стеке == Целые 32-битные числа представляются в [[Стек данных|десятичном стеке]], как целые числа со знаком (''англ.'' signed integer) в ''дополнительном коде''. Целое число, все 32 бита которого установлены, представляется в [[Стек данных|стеке]] числом -1. [[Стек данных]] содержит [[Десятичное число|десятичные числа]]. При корректных расчётах этим можно пренебречь, но при арифметическом переполнении результат отличается от результата при переполнении двоичных машин. 32-битные числа (как со знаком, так и без знака) могут безошибочно записываться из [[Стек данных|стека]] в [[Регистр десятичных данных|десятичные регистры]] и переменные с помощью слов [[Слово !|!]] и [[TO]], а также считываться из них обратно. Для считывания в [[Стек данных|стек]] 32-битного целого из [[Регистр десятичных данных|десятичного регистра]] служит слово [[Слово @|@]]. == Целые числа в двоичной ячейке памяти == Двоичная [[Ячейка (Каллисто)|ячейка памяти]] состоит из двух байт и хранит 16-битные [[Шестнадцатеричный формат|двоичные]] целые числа. Для хранения в такой ячейке чисел со знаком [[Каллисто]] использует ''дополнительный код''. Старший байт числа хранится в первом байте ячейки, при этом его старший бит является знаковым — для положительных чисел значение первого байта меняется от 0 до 127, для отрицательных от 128 до 255. Таблица показывает, как некоторые целые числа со знаком записываются в двух байтах [[Ячейка (Каллисто)|ячейки памяти]] [[Каллисто]]: {| cellspacing="0" border="1" ! Число || Первый байт ячейки || Второй байт ячейки |- | 0 || 0 || 0 |- | +1 || 0 || 1 |- | +2 || 0 || 2 |- | +255 || 0 || 255 |- | +256 || 1 || 0 |- | +257 || 1 || 1 |- | +258 || 1 || 2 |- | +32766 || 127 || 254 |- | +32767 || 127 || 255 |- | -1 || 255 || 255 |- | -2 || 255 || 254 |- | -255 || 255 || 1 |- | -256 || 255 || 0 |- | -257 || 254 || 255 |- | -258 || 254 || 254 |- | -32767 || 128 || 1 |- | -32768 || 128 || 0 |} == Ссылки == * [https://ru.wikipedia.org/wiki/%D0%94%D0%BE%D0%BF%D0%BE%D0%BB%D0%BD%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9_%D0%BA%D0%BE%D0%B4_%28%D0%BF%D1%80%D0%B5%D0%B4%D1%81%D1%82%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D1%87%D0%B8%D1%81%D0%BB%D0%B0%29 Дополнительный код на Википедии] [[Категория:Каллисто]]
Описание изменений:
Пожалуйста, учтите, что любой ваш вклад в проект «ПМК вики» может быть отредактирован или удалён другими участниками. Если вы не хотите, чтобы кто-либо изменял ваши тексты, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений, или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого (см.
Pmkwiki:Авторские права
).
НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ МАТЕРИАЛЫ!
В целях защиты вики от автоматического спама в правках просим вас решить следующую каптчу:
Отменить
Справка по редактированию
(в новом окне)
Навигация
Персональные инструменты
Вы не представились системе
Обсуждение
Вклад
Создать учётную запись
Войти
Пространства имён
Статья
Обсуждение
русский
Просмотры
Читать
Править
История
Ещё
Поиск
Навигация
Заглавная страница
Свежие правки
Случайная страница
Справка по MediaWiki
Инструменты
Ссылки сюда
Связанные правки
Служебные страницы
Сведения о странице