|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Форматы хранения целых чисел со знаком↑ Наверх Целые числа со знаком обычно также, как и беззнаковые, занимают в памяти компьютера один, два или четыре байта, при этом самый левый (старший) разряд содержит информацию о знаке числа. Знак «+» кодируется нулем, а «-» единицей. Таким образом, под само число отводится 7 разрядов с нулевого до шестого. Диапазоны значений целых чисел со знаком для одно-, двух- и четырехбайтового форматов приведены в таблице 4.2. Таблица 4.2. Диапазоны значений целых чисел со знаком
В компьютерной технике применяются три формы записи (кодирования) целых чисел со знаком: прямой код, обратный код, дополнительный код. Последние две формы применяются особенно широко, так как позволяют упростить конструкцию арифметико-логического устройства компьютера путем замены разнообразных арифметических операций операцией сложения. Рассмотрим перечисленные форматы на примере однобайтового представления. Положительные числа в прямом, обратном и дополнительном кодах изображаются одинаково - двоичными кодами с цифрой 0 в знаковом разряде. Пример 4.2. Число 4510 = 1011012. Т.к. число положительное, то в старшем разряде 0. Число 45 в прямом, обратном и дополнительном кодах выглядит одинаково:
Отрицательные числа в прямом, обратном и дополнительном кодах имеют разное изображение. Прямой код. В знаковый разряд помещается цифра 1, а в разряды цифровой части числа — двоичный код его абсолютной величины. Пример 4.3. Число -4510 = -1011012. Т.к. число отрицательное, то в старшем разряде 1:
Обратный код получается инвертированием всех цифр двоичного кода абсолютной величины числа: нули заменяются единицами, а единицы — нулями. В знаковом разряде ставится 1. Пример 4.3 (продолжение 1) Абсолютная величина: 0101101, после инвертирования: 1010010. Получаем обратный код числа:
Дополнительный код получается из обратного кода путем прибавления единицы к его младшему разряду. Пример 4.3 (продолжение 2) Мы уже имеем обратный код, прибавим к нему 1, получим дополнительный код числа -4510:
Обычно отрицательные десятичные числа при вводе в машину автоматически преобразуются в обратный или дополнительный двоичный код и в таком виде хранятся и обрабатываются. При выводе таких чисел из внутреннего представления машины во внешнее происходит обратное преобразование в отрицательные десятичные числа. Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.006 сек.) |