Jump to content

Подписанность

(Перенаправлено с беззнакового номера )

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

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

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

В языках программирования

[ редактировать ]

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

Язык программирования C вместе со своими производными реализует знаковость для всех целочисленных типов данных , а также для «символьных» . Для целых чисел Модификатор unsigned определяет беззнаковый тип. Целочисленная подпись по умолчанию вне битовых полей подписана, но ее можно установить явно с помощью подписанный модификатор. Напротив, стандарт C объявляет подписанный символ , беззнаковый символ и char , чтобы быть тремя разными типами, но указывает, что все три должны иметь одинаковый размер и выравнивание. Дальше, char должен иметь тот же числовой диапазон, что и любой другой подписанный символ или unsigned char , но выбор которого зависит от платформы. Целочисленные литералы можно сделать беззнаковыми с помощью У. Суффикс

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

См. также

[ редактировать ]
[ редактировать ]
  • «Обзор числовых типов» . MySQL Справочное руководство 5.0 . mysql.com. 2011 . Проверено 6 января 2012 года .
  • «Понимание правил преобразования целых чисел» , Стандарт кодирования CERT C , Группа реагирования на компьютерные чрезвычайные ситуации , получено 31 декабря 2015 г.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 4c389962892514499c234792a5505a97__1722111900
URL1:https://arc.ask3.ru/arc/aa/4c/97/4c389962892514499c234792a5505a97.html
Заголовок, (Title) документа по адресу, URL1:
Signedness - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)