Знаковый бит
Эта статья нуждается в дополнительных цитатах для проверки . ( декабрь 2009 г. ) |
В информатике знаковый бит — это бит в представлении числа со знаком , который указывает знак числа. Хотя только знаковые числовые типы данных имеют знаковый бит, он всегда находится в позиции наиболее значимого бита . [1] поэтому в некоторых контекстах этот термин можно использовать как синоним «самого значимого бита».
Почти всегда, если знаковый бит равен 0, число неотрицательное (положительное или нулевое). [1] Если знаковый бит равен 1, то число отрицательное. Форматы, отличные от целых чисел с дополнением до двух, допускают использование знакового нуля : отдельные представления «положительного нуля» и «отрицательного нуля», последнее из которых не соответствует математической концепции отрицательного числа .
При использовании представления дополнения для преобразования числа со знаком в более широкий формат дополнительные биты должны быть заполнены копиями знакового бита, чтобы сохранить его числовое значение. [2] : 61–62 процесс, называемый расширением знака или распространением знака . [3]
Вес знакового бита в дополнении до двух
[ редактировать ]Биты | Значение с использованием дополнения до двух |
---|---|
0 000 | 0 |
0 001 | 1 |
0 111 | 7 |
1 000 | -8 |
1 001 | -7 |
1 111 | -1 |
Дополнение до двух на сегодняшний день является наиболее распространенным форматом для целых чисел со знаком. В дополнении до двух знаковый бит имеет вес -2. ш-1 где w равно положению битов в числе. [1] В случае 8-битного целого числа знаковый бит будет иметь значение -2. 8 -1 , или -128. Поскольку это значение больше, чем все остальные биты вместе взятые, установка этого бита в конечном итоге сделает число отрицательным, тем самым изменив знак.
Вес знакового бита в дополнении единиц
[ редактировать ]Биты | Ценность с использованием дополнения |
---|---|
0 000 | 0 |
0 001 | 1 |
0 111 | 7 |
1 000 | -7 |
1 001 | -6 |
1 111 | -0 |
Дополнение до единиц аналогично дополнению до двух, но знаковый бит имеет вес -(2 ш-1 +1), где w равно положению битов в числе. [ нужна ссылка ] В случае 8-битного целого числа знаковый бит будет иметь значение -(2 8 -1 +1) или -127. Это допускает два типа нуля : положительный и отрицательный, что невозможно с дополнением до двух.
Знаковый бит в целых числах знаковой величины
[ редактировать ]Биты | Значение с использованием знака величины |
---|---|
0 000 | 0 |
0 001 | 1 |
0 111 | 7 |
1 000 | -0 |
1 001 | -1 |
1 111 | -7 |
При использовании Sign Magnitude бит знака напрямую определяет знак. Если знаковый бит равен 0, число положительное; если знаковый бит равен 1, число отрицательное. [2] : 52–54 Как и в случае с дополнением единиц, здесь допускается использование как положительного, так и отрицательного нуля.
Знаковый бит в числах с плавающей запятой
[ редактировать ]Числа с плавающей запятой , такие как формат IEEE , формат IBM , формат VAX и даже формат, используемый Zuse Z1 и Z3, используют представление знака и величины . [ нужна ссылка ]
Ссылки
[ редактировать ]- ^ Jump up to: а б с «Руководство разработчика программного обеспечения для архитектур Intel® 64 и IA-32, комбинированные тома: 1, 2A, 2B, 2C, 2D, 3A, 3B, 3C, 3D и 4» . Интел . Проверено 13 марта 2024 г.
- ^ Jump up to: а б Брайант, Рэндал Э.; О'Халларон, Дэвид Р. (2003). «Глава 2: Представление информации и манипулирование ею». Компьютерные системы: взгляд программиста . Река Аппер-Сэддл, Нью-Джерси: Прентис-Холл. ISBN 0-13-034074-Х .
- ^ «Словарь данных (глоссарий и алгоритмы)» . Центр восстановления данных Adroit Pte Ltd. Архивировано из оригинала 19 апреля 2017 г. Проверено 15 декабря 2014 г.