Числа со знаком и без знака

Числа со знаком и без знака

Двоичные числа могут быть как со знаком (signed), так и без знака (unsigned).

Числа без знака используют все восемь битов для получения значения. Например, 11111111 = 255. Просуммировав значения всех битов, получим максимально возможное значение, которое может хранить байт без знака (255). Для слова без знака это значение будет составлять 65 535. Байт со знаком использует только 7 битов для получения значения, а старший восьмой бит зарезервирован для знака, при этом 0 соответствует положительному значению, а 1 – отрицательному. На представленном ниже рисунке 1.4 показано отображение положительного и отрицательного числа 10.

Знаковый бит

1

Рис.1.4 Отображение положительного

и отрицательного числа 10.

Дополнение до двух.

Чтобы не усложнять процессор, отдельный блок для реализации операции вычитания не делают, эту операцию выполняет блок суммирования. Но перед суммированием отрицательные числа преобразовываются в дополнительное число. Это такое число, которое в сумме с исходным числом дает 0. Например, десятичное –6 будет дополнительным для 6, так как 6 + 6 = 0. Таким образом, вместо операции вычитания

А-В процессор суммирует с положительным числом А дополнительное к В : А + (-В). Вместо того, чтобы вычесть 4 из 6, процессор просто складывает -4 и 6.

Когда производится работа с двоичными числами, для дополнительного числа используется термин дополнение до двух (two’s complement). Также встречается такое определение, как двоичное дополнение. Например, для двоичного значения 0001 двоичным дополнением до двух будет 1111. Такое число получается из исходного числа после изменения всех единиц на нули, а нулей на единицы и прибавлением к получившемуся числу единицы:

Инвертированное N: 1110

Добавить 1: 1111

Если сложить N и дополнение до двух к N, то получим 0: 0001 + 1111 = 0000. Операция получения дополнения до двух полностью обратима. Например, для отрицательного числа -10 дополнением до двух будет 10:

1.2. Представление данных.

00001001 (Инверсия бит)

+ 00000001 (добавить 1)

Еще несколько примеров преобразования чисел (для дополнения до двух используем аббревиатуру NEG (n) ):

+2 00000010 11111110 -2

+16 00010000 11110000 -16

+127 01111111 10000001 -127

Операция инвертирования битов в двоичном числе обозначается NOT (n), а полученное значение называется дополнением до единицы или первичным дополнением. Поэтому двоичное дополнение может быть представлено выражением NOT (n) +1.

Максимальные и минимальные значения

Число со знаком из n разрядов может использовать только n-1 битов для получения значения. Например, знаковый байт использует только 7 битов (от 0 до 127). В табл. 1.8. показаны максимальные и минимальные значения для байтов, слов, двойных слов, и учетверенных слов со знаком. Наименьшие значения (-128, -32 768, -2 147 483 648 ) являются недопустимыми. Например, двоичное дополнение до —-128 (10000000) будет также 10000000.

Таблица 1.8. Целые числа со знаком и без знака.

Представление в компьютере целых чисел

Целые числа могут представляться в компьютере со знаком или без знака.

Целые числа без знака

Обычно занимают в памяти компьютера один или два байта. В однобайтовом формате принимают значения от 000000002 до 111111112. В двубайтовом формате — от 00000000 000000002 до 11111111 111111112.

Диапазоны значений целых чисел без знака

Формат числа в байтах Диапазон
Запись с порядком Обычная запись
0 . 2 8 -1 0 . 255
0 . 2 16 -1 0 . 65535

а) число 7210 = 10010002 в однобайтовом формате:

б) это же число в двубайтовом формате:

в) число 65535 в двубайтовом формате:

Целые числа со знаком

Обычно занимают в памяти компьютера один, два или четыре байта, при этом самый левый (старший) разряд содержит информацию о знаке числа.

Диапазоны значений целых чисел со знаком

Формат числа в байтах Диапазон
Запись с порядком Обычная запись
-2 7 . 2 7 -1 -128 . 127
-2 15 . 2 15 -1 -32768 . 32767
-2 31 . 2 31 -1 -2147483648 . 2147483647

Рассмотрим особенности записи целых чисел со знаком на примере однобайтового формата, при котором для знака отводится один разряд, а для цифр абсолютной величины — семь разрядов.

В компьютерной технике применяются три формы записи (кодирования) целых чисел со знаком: прямой код, обратный код, дополнительный код.

Последние две формы применяются особенно широко, так как позволяют упростить конструкцию арифметико-логического устройства компьютера путем замены разнообразных арифметических операций операцией cложения.

Положительные числа в прямом, обратном и дополнительном кодах изображаются одинаково — двоичными кодами с цифрой 0 в знаковом разряде. Например:

Отрицательные числа в прямом, обратном и дополнительном кодах имеют разное изображение.

1. Прямой код. В знаковый разряд помещается цифра 1, а в разряды цифровой части числа — двоичный код его абсолютной величины. Например:

2. Обратный код. Получается инвертированием всех цифр двоичного кода абсолютной величины числа, включая разряд знака: нули заменяются единицами, а единицы — нулями. Например:

3. Дополнительный код. Получается образованием обратного кода с последующим прибавлением единицы к его младшему разряду. Например:

Обычно отрицательные десятичные числа при вводе в машину автоматически преобразуются в обратный или дополнительный двоичный код и в таком виде хранятся, перемещаются и участвуют в операциях. При выводе таких чисел из машины происходит обратное преобразование в отрицательные десятичные числа.


Представление в компьютере вещественных чисел

Система вещественных чисел в математических вычислениях предполагается непрерывной и бесконечной, т.е. не имеющей ограничений на диапазон и точность представления чисел. Однако в компьютерах числа хранятся в регистрах и ячейках памяти с ограниченным количеством разрядов. Вследствие этого система вещественных чисел, представимых в машине, является дискретной (прерывной) и конечной.

При написании вещественных чисел в программах вместо привычной запятой принято ставить точку. Для отображения вещественных чисел, которые могут быть как очень маленькими, так и очень большими, используется форма записи чисел с порядком основания системы счисления. Например, десятичное число 1.25 в этой форме можно представить так:

1.25 . 10 0 = 0.125 . 10 1 = 0.0125 . 10 2 = .

12.5 . 10 -1 = 125.0 . 10 -2 = 1250.0 . 10 -3 = . .

Любое число N в системе счисления с основанием q можно записать в виде N = M . q p , где M — множитель, содержащий все цифры числа (мантисса), а p — целое число, называемое порядком. Такой способ записи чисел называется представлением числа с плавающей точкой.
Читайте также:  Перевод локального пользователя в домен

Если "плавающая" точка расположена в мантиссе перед первой значащей цифрой, то при фиксированном количестве разрядов, отведённых под мантиссу, обеспечивается запись максимального количества значащих цифр числа, то есть максимальная точность представления числа в машине. Из этого следует:

Мантисса должна быть правильной дробью, у которой первая цифра после точки (запятой в обычной записи) отлична от нуля: 0.12 . 10 3 ; —101.01 = —0.10101 . 2 11 (порядок 112 = 310)
— 0.000034 = — 0.34 . 10 -4 ; 0.000011 = 0.11 . 2 -100 (порядок —1002 = —410).

Вещественные числа в компьютерах различных типов записываются по-разному, тем не менее, все компьютеры поддерживают несколько международных стандартных форматов, различающихся по точности, но имеющих одинаковую структуру следующего вида:

Здесь порядок n-разрядного нормализованного числа задается в так называемой смещенной форме: если для задания порядка выделено k разрядов, то к истинному значению порядка, представленного в дополнительном коде, прибавляют смещение, равное (2 k-1 — 1). Например, порядок, принимающий значения в диапазоне от —128 до +127, представляется смещенным порядком, значения которого меняются от 0 до 255.

Использование смещенной формы позволяет производить операции над порядками, как над беззнаковыми числами, что упрощает операции сравнения, сложения и вычитания порядков, а также упрощает операцию сравнения самих нормализованных чисел.

Чем больше разрядов отводится под запись мантиссы, тем выше точность представления числа. Чем больше разрядов занимает порядок, тем шире диапазон от наименьшего отличного от нуля числа до наибольшего числа, представимого в машине при заданном формате.

Стандартные форматы представления вещественных чисел: 1) одинарный — 32-разрядное нормализованное число со знаком, 8-разрядным смещенным порядком и 24-разрядной мантиссой (старший бит мантиссы, всегда равный 1, не хранится в памяти, и размер поля, выделенного для хранения мантиссы, составляет только 23 разряда). 2) двойной — 64-разрядное нормализованное число со знаком, 11-разрядным смещенным порядком и 53-разрядной мантиссой (старший бит мантиссы не хранится, размер поля, выделенного для хранения мантиссы, составляет 52 разряда). 3) расширенный — 80-разрядное число со знаком, 15-разрядным смещенным порядком и 64-разрядной мантиссой. Позволяет хранить ненормализованные числа.

Следует отметить, что вещественный формат с m-разрядной мантиссой позволяет абсолютно точно представлять m-разрядные целые числа, т. е. любое двоичное целое число, содержащее не более m разрядов, может быть без искажений преобразовано в вещественный формат.

Лекция №8

«Международный факультет прикладных информационных технологий

Бакалавриат «Информатика и вычислительная техника»

Определение. Байтом называется последовательность из восьми бит. Байт является минимально адресуемым элементом памяти.

Определение. Словом называется последовательность из двух байтов. Адресом слова является адрес младшего байта и всегда является положительным (ноль рассматриваем как положительное число). Длина слова равна 16 битам.

Определение. Двойным словом называется последовательность из четырёх байтов. Адресом двойного слова является адрес младшего байта и всего является положительным (ноль рассматриваем как положительное число). Длина двойного слова равно 32 битам.

Рассмотрим следующие виды чисел, представляемых в памяти машины:

целые числа без знака

целые числа со знаком

числа с фиксированной запятой (точкой)

числа с плавающей запятой (точкой)

Целые числа без знака и со знаком

Числа без знака получили свое название потому, что среди этих чисел нет отрицательных. Количество различных чисел, которые можно записать в байте, слове или двойном слове определяется числом сочетаний с повторениями из 2 соответственно по 8, 16, 32. Таким образом, количество различных чисел следующее:

2 8 = 256 для байта

2 16 = 65536 для слова

2 32 = 4294967296 для двойного слова.

Целые числа без знака – это самый простой вид чисел: они представляют собой весь диапазон двоичных чисел, которые можно записать в байте, слове или двойном слове.

Диапазоны изменения целых чисел без знака следующие:

00H ( 0) — FF (255) для байта;

0000 ( 0) – FFFF (65535) для слова;

00000000 ( 0) – FFFFFFFF (4294967295) для двойного слова.

В представлении целых числа со знаком старший разряд используется как знаковый, а остальные используются для записи числа. Диапазоны изменения целых чисел со знаком следующие:

80H (-128) — 7FH (127)

8000H (-32768) — 7FFF (32767)

Определение. Прямым кодом называется двоичная запись неотрицательного целого числа.

Определение. Обратным кодом называется запись, полученная поразрядной инверсией прямого кода.

Определение. Дополнительным кодом называется запись, полученная прибавлением 1 (единицы) к обратному коду.

Отрицательные двоичные числа содержат единичный бит в старшем разряде и выражаются в дополнительном коде. Для представления отрицательного целого двоичного числа необходимо инвертировать все биты, равного по модулю положительного числа, а затем прибавить 1. Иными словами необходимо найти последовательной кодов чисел: прямой код, обратный код, дополнительный.

Исходное двоичное число (соответствует десятичному 65)
Инверсные биты:
Плюс 1, т.е. дополнительный код (соответствует десятичному числу (-65)

Сумма 65 и (-65) должна составлять ноль. Получим:

Все восемь бит имеют нулевое значение. Перенос единичного бита влево потерян.

Следует подчеркнуть, что знак числа условен. Одно и то же число, например FBH можно интерпретировать как число со знаком, так и число без знака.

Если битовую комбинацию представленную шестнадцатеричным числом FBH рассматривать как целое со знаком, то её значение будет равно (-5).

Если битовую комбинацию представленную шестнадцатеричным числом FBH рассматривать как целое без знака, то её значение будет рано 251.

Дадим выборочную таблицу 16-битовых чисел с указанием из машинного представления, а также значений без знака и со знаком. Из этой таблицы видно, что чисел со знаком размером в слово диапазон положительных значений простирается от 0 до 32767, а диапазон отрицательных значений до (-1) до (-32768).

16-ричное представление Десятичное представление без знака Десятичное представление со знаком
0000H Ноль
0001H +1 Минимальное положительное число
0002H +2
0003H +3
0004H +4
7FFCH +32764
7FFDH +32765
7FFEH +32766
7FFFH +32767 Максимальное положительное число
8000H -32768 Минимальное отрицательное число
8001H -32767
8002Н -32766
8003H -32765
FFFBH -0005
FFFCH -0004
FFFDH -0003
FFFEH -0002
FFFFH -0001 Минимальное отрицательное число
Читайте также:  Как в ворде посчитать количество символов

Среди команд процессора, выполняющих обработку чисел, можно выделить команды, безразличные к знаку числа (например, inc, add), команды предназначенные для обработки чисел без знака (ja, jb), а также команды, специально рассчитанные на обработку чисел со знаком (jg, jl).

Округление чисел с плавающей запятой (точкой)

Стандарт IEEE 754 описывает операции сложения, умножения, вычитания, деления, вычисления остатка от деления, извлечения квадратного корня и преобразований между различными типами чисел. Общий принцип всех операций заключается в том, что результат получается из точного путем приведения к представимому числу согласно установленному режиму округления.

В стандарте определены четыре режима округления:

округление к ближайшему представимому числу;

В режиме округления к ближайшему представимому числу, как следует из названия, результатом операции является представимое число, ближайшее к точному значению. Когда точное значение одинаково удалено от двух представимых чисел, выбирается то, у которого младший бит мантиссы равен нулю.

При округлении к –∞ результатом является ближайшее представимое число, не превосходящее точного значения.

При округлении к +∞ — ближайшее представимое число, которое не меньше точного значения

При округлении к 0 — ближайшее представимое число, не превосходящее по абсолютной величине точного значения.

Определение. Округление к –∞, округление к +∞, округление к 0 называются режимами прямого округления (directed rounding).

Для иллюстрации режимов округления рассмотрим примеры. В первом примере требуется округлить число с заданной мантиссой к ближайшему представимому числу одинарной точности:

исходная мантисса: 101010101010101010101010111111112

округленная мантисса: 101010101010101010101010000000002

В следующем примере требуется округлить число с заданной мантиссой в сторону 0:

исходная мантисса: 101010101010101010101011111111112

округленная мантисса: 101010101010101010101010000000002

Таблица 3. Примеры округления чисел до десятых
исходное число к ближ. представимому к нулю к +∞ к -∞
1,33 1,3 1,3 1,4 1,3
-1,33 -1,3 -1,3 -1,3 -1,4
1,37 1,4 1,3 1,4 1,3
-1,37 -1,4 -1,3 -1,3 -1,4
1,35 1,4 1,3 1,4 1,3
-1,35 -1,4 -1,3 -1,3 -1,4

Исключения

Стандартом IEEE 754 определены пять типов исключений:

¾ invalid operation — некорректная операция;

¾ division by zero — деление на нуль;

¾ underflow — потеря значимости;

¾ inexact — потеря точности.

В стандарте приводится список ситуаций, в которых выставляется исключение invalid operation. Ниже представлены некоторые из них:

¾ любые операции над SNaN;

¾ сложение бесконечностей с разными знаками или вычитание бесконечностей с одинаковыми знаками;

¾ взятие остатка от деления x rem y, где y = 0 или x = ∞;

¾ извлечение квадратного корня из отрицательного числа.

Рассмотрим остальные исключения на примере деления чисел двойной точности в режиме округления к 0.

Исключение division by zero выставляется, когда делитель равен нулю.

Обязательное условие возникновения исключения — не равное нулю или бесконечности делимое. В случае возникновения исключения division by zero

результат равен бесконечности:

делимое: 7FEFFFFFFFFFFFFF16 (1.797693e+308)

делитель: 000000000000000016 (+0)

исключения: division by zero

Исключение overflow возникает, когда результат операции превышает (по абсолютной величине) наибольшее представимое число:

делимое: 7FEFFFFFFFFFFFFF16 (1.797693e+308)

делитель: 0003A6B50B0F27BB16 (5.077619e–309)

частное: 7FEFFFFFFFFFFFFF16 (1.797693e+308)

исключения: overflow и inexact

Исключение underflow возникает, когда результат операции настолько мал (по абсолютной величине), что он может быть представлен только денормализованным числом:

делимое: 001000000000000016 (2.225074e–308)

делитель: 7FEFFFFFFFFFFFFF16 (1.797693e+308)

частное: 000000000000000016 (+0)

исключения: underflow и inexact

Исключение inexact возникает, когда результат операции отличается от точного

делимое: 27E83F0F3FFC953816 (1.786431e+000)

делитель: FBAF43813FFFFFFF16 (2.000000e+000)

частное: 2BC3037F3FEC953816 (8.932153e–001)

Алгоритм Малкома

В начале семидесятых годов 20-го века Malcolm и Gentleman предложили алгоритм для вывода некоторых характеристик систем с плавающей точкой.

while ((A+1.0)-A)-1.0 = 0.0

Двоичные файлы

Двоичные файлы состоят из последовательности чисел, представляющих собой закодированную информацию, которая может загружаться непосредственно в компьютер. Микропроцессор компьютера обладает всеми необходимыми средствами для того, чтобы разобраться в этой последовательности и определить команды от данных. Большинство программ хранится в двоичных файлах.

Двоичные программные файлы являются микропроцессорно-ориентированными. Это означает, что программа, написанная для компьютера IBM PC, может быть выполнена только на компьютере, имеющей ту же самую систему команд.

Если в двоичном файле находятся и данные, то прочитать и понять их можно только с помощью специально написанной программы.

Текстовые файлы.

Если каждому символу алфавита сопоставить определенное число (например, порядковый номер), то с помощью двоичного кода можно кодировать и текстовую информацию. Восьми двоичных разрядов достаточно для кодирования 256 различных символов. Этого хватит, чтобы выразить различными комбинациями восьми битов все символы английского и русского алфавитов, как строчные, так и прописные, а также знаки препинания, символы основных арифметических действий и некоторые общепринятые специальные символы, например "@".

Теоретически это выглядит очень просто, однако всегда существовали достаточно веские органзационные сложности. В первые годы развития вычислительной техники они были связаны с отсутствием необходимых стандартов, а в настоящее время вызваны, наоборот, изобилием одновременно действующих и противоречивых стандртов. Для того, чтобы весь мир одинаково кодировал текстовые данные, нужны единые таблицы кодирования, а это пока невозможно из-за противоречий между символами национальных алфавитов, а также противоречий корпоративного характера.

Для английского языка, ставшего международным средством общения, противоречия уже сняты. Институт стандартизации США (ANSI – American Standard Institute) ввел в действие систему кодирования ASCII (American Standard Code for Information Interchange – стандартный код информационного обмена США). В системе ASCII закреплены две таблицы кодирования – базовая и расширенная. Базовая таблица закрепляет значения кодов от 0 до 127, а расширенная относится к символам от 128 до 255.

ASCII-код

С целью стандартизации в компьютерах используется американский национальный стандартный код для обмена информацией ASCII (American National Standard Code for Information). Наличие стандартного кода облегчает обмен данными между различными устройствами. Восьмибитовый расширенный ASCII-код обеспечивает представление 256 символов, включая символы для национальных алфавитов.

Но 01000001 представляет также букву А. Таким образом одна и та же комбинация из восьми битов может представлять как число, так и букву, а данном случае комбинаций 01000001 это 65, а с другой стороны – буква А. Все зависит от интерпретации битового содержания.

Читайте также:  Какой программой открыть файл xml на компьютере

Если программа определяет элемент данных для арифметических целей, то 01000001 представляет двоичное число, эквивалентное десятичному числу 65.

Если программа определяет элемент данных (один смежный байт или более), имея в виду его описание, как, например, заголовок, тогда 01000001 представляет собой букву или «строку».

При программировании это различие становится понятным, так как назначение каждого элемента данных определено.

Закономерно возникает вопрос, откуда компьютер «знает», что значения восьми бит 01000001 представляют букву А. Когда на клавиатуре нажата клавиша А, операционная система принимает сигнал от этой конкретной клавиши в байт памяти. Это сигнал устанавливает биты в значения 01000001. Можно переслать этот байт в память, и если передать его на экран или принтер, то будет сгенерирована буква А.

Первые 32 кода базовой таблицы, начиная с нулевого, отданы производителям аппаратных средств. В этой области располагаются так называемые управляющие коды, которым не соответствуют никакие символы языков, и, соответственно, эти коды не выводятся на экран, ни на устройства печати, но ими можно управлять тем, как производится выод прочих данных. Начиная с кода 32 по код 127 размещены коды символов английского алфавита, знаков препинания, цифр, арифметических действий и некоторых вспомогательных символов.

Список литературы

  1. IEEE 754-2008 Standard for Floating-Point Arithmetic
    Институт инженеров по электротехнике и радиоэлектронике
    Официальный стандарт по арифметике с числами с плавающей точкой http://ieeexplore.ieee.org/xpl/mostRecentIssue.jsp?punumber=4610933
  2. ISO/IEC JTC1/SC22/WG14 – Programming Language C
    Стандарт языка программирования высокого уровня C, включающий в себя описание реализации чисел с плавающей точкой в этом языке. http://www.open-std.org/jtc1/sc22/wg14/
  3. ISO/IEC JTC1/SC22/WG21 – Programming Language C++
    Стандарт языка программирования высокого уровня C++, включающий в себя описание реализации чисел с плавающей точкой в этом языке. http://www.open-std.org/JTC1/SC22/WG21/
  4. А.C. Камкин, М.M. Чупилко. Тестирование модулей арифметики с плавающей точкой микропроцессоров на соответствие стандарту IEEE 754. Стр. 7-22. Труды Института системного программирования РАН, том 14, 2008 г. Часть 2. ISSN 2220-6426 (Online), ISSN 2079-8156 (Print). Стр. 7-22. http://www.ispras.ru/ru/proceedings/archives/isp_2008_14_2/isp_2008_14_2_7.php

Лекция №8

«Международный факультет прикладных информационных технологий

Бакалавриат «Информатика и вычислительная техника»

Определение. Байтом называется последовательность из восьми бит. Байт является минимально адресуемым элементом памяти.

Определение. Словом называется последовательность из двух байтов. Адресом слова является адрес младшего байта и всегда является положительным (ноль рассматриваем как положительное число). Длина слова равна 16 битам.

Определение. Двойным словом называется последовательность из четырёх байтов. Адресом двойного слова является адрес младшего байта и всего является положительным (ноль рассматриваем как положительное число). Длина двойного слова равно 32 битам.

Рассмотрим следующие виды чисел, представляемых в памяти машины:

целые числа без знака

целые числа со знаком

числа с фиксированной запятой (точкой)

числа с плавающей запятой (точкой)

Целые числа без знака и со знаком

Числа без знака получили свое название потому, что среди этих чисел нет отрицательных. Количество различных чисел, которые можно записать в байте, слове или двойном слове определяется числом сочетаний с повторениями из 2 соответственно по 8, 16, 32. Таким образом, количество различных чисел следующее:

2 8 = 256 для байта

2 16 = 65536 для слова

2 32 = 4294967296 для двойного слова.

Целые числа без знака – это самый простой вид чисел: они представляют собой весь диапазон двоичных чисел, которые можно записать в байте, слове или двойном слове.

Диапазоны изменения целых чисел без знака следующие:

00H ( 0) — FF (255) для байта;

0000 ( 0) – FFFF (65535) для слова;

00000000 ( 0) – FFFFFFFF (4294967295) для двойного слова.

В представлении целых числа со знаком старший разряд используется как знаковый, а остальные используются для записи числа. Диапазоны изменения целых чисел со знаком следующие:

80H (-128) — 7FH (127)

8000H (-32768) — 7FFF (32767)

Определение. Прямым кодом называется двоичная запись неотрицательного целого числа.

Определение. Обратным кодом называется запись, полученная поразрядной инверсией прямого кода.

Определение. Дополнительным кодом называется запись, полученная прибавлением 1 (единицы) к обратному коду.

Отрицательные двоичные числа содержат единичный бит в старшем разряде и выражаются в дополнительном коде. Для представления отрицательного целого двоичного числа необходимо инвертировать все биты, равного по модулю положительного числа, а затем прибавить 1. Иными словами необходимо найти последовательной кодов чисел: прямой код, обратный код, дополнительный.

Исходное двоичное число (соответствует десятичному 65)
Инверсные биты:
Плюс 1, т.е. дополнительный код (соответствует десятичному числу (-65)

Сумма 65 и (-65) должна составлять ноль. Получим:

Все восемь бит имеют нулевое значение. Перенос единичного бита влево потерян.

Следует подчеркнуть, что знак числа условен. Одно и то же число, например FBH можно интерпретировать как число со знаком, так и число без знака.

Если битовую комбинацию представленную шестнадцатеричным числом FBH рассматривать как целое со знаком, то её значение будет равно (-5).

Если битовую комбинацию представленную шестнадцатеричным числом FBH рассматривать как целое без знака, то её значение будет рано 251.

Дадим выборочную таблицу 16-битовых чисел с указанием из машинного представления, а также значений без знака и со знаком. Из этой таблицы видно, что чисел со знаком размером в слово диапазон положительных значений простирается от 0 до 32767, а диапазон отрицательных значений до (-1) до (-32768).

16-ричное представление Десятичное представление без знака Десятичное представление со знаком
0000H Ноль
0001H +1 Минимальное положительное число
0002H +2
0003H +3
0004H +4
7FFCH +32764
7FFDH +32765
7FFEH +32766
7FFFH +32767 Максимальное положительное число
8000H -32768 Минимальное отрицательное число
8001H -32767
8002Н -32766
8003H -32765
FFFBH -0005
FFFCH -0004
FFFDH -0003
FFFEH -0002
FFFFH -0001 Минимальное отрицательное число

Среди команд процессора, выполняющих обработку чисел, можно выделить команды, безразличные к знаку числа (например, inc, add), команды предназначенные для обработки чисел без знака (ja, jb), а также команды, специально рассчитанные на обработку чисел со знаком (jg, jl).

Ссылка на основную публикацию
Чернила светятся в ультрафиолете
Употребление симпатических (невидимых) чернил подразумевает запись неразличимую в обычных обстоятельствах, но появляющуюся после фото, химической или физической проявки. Это есть...
Формула частота в excel
При анализе данных периодически возникает задача подсчитать количество значений, попадающих в заданные интервалы "от и до" (в статистике их называют...
Формула тейлора с остатком в форме пеано
Формулировка: Если существует , то представима в следующем виде: Это выражение называется формулой Тейлора с остаточным членом в форме Пеано...
Чернила для принтера в шприцах
Заправочные комплекты INKO в шприцах 3х20 мл., с высококачественными чернилами на основе красителя (Dye ink) и пигментные чернила (Pigment ink)...
Adblock detector