−0 (программирование)

−0 (программирование)

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

Для улучшения этой статьи желательно уточнить определение описываемого ею понятия

Содержание

Представления

В 1+7-битном представлении чисел со знаком, отрицательный ноль представляется двоичным значением 10000000 в прямом коде. В 8-битном одинарном обратном коде −0 представляется двоичным значением 11111111. В стандарте представления чисел с плавающей запятой IEEE 754, отрицательный ноль представляется нулевой экспонентой и мантиссой и знаковым битом равным единице.

В наиболее распространённом в настоящее время двойном дополнительном коде понятие отрицательного ноля отсутствует, что и сделало этот формат наиболее популярным.

Свойства

В языках программирования, таких как C, C#, C++ и Java, хотя и возможно получить отрицательный ноль в качестве результата вычисления выражения, при сравнении отрицательный ноль равен положительному, поэтому простое сравнение не может быть использовано для определения того, является ли число отрицательным нолём. Для проверки на отрицательный ноль можно использовать функцию CopySign(), определённую в IEEE 754, которая копирует знак числа (в данном случае ноля) в другое число (для проверки знака нужно взять ненулевое).

Для определения знака ноля можно также использовать деление:

  • \;x / +0 = +\infty (для положительного x)
  • \;x / -0 = -\infty (для положительного x)

Результат других операций с отрицательным нолём:

  • \;-0 / x = -0 (для положительного x)
  • \;-0 / x = +0 (для отрицательного x)
  • \;+0 / x = -0 (для отрицательного x)
  • \;-0 / +\infty = -0
  • \;-0 / -\infty = +0
  • \;+0 / -\infty = -0
  • \;-0 \cdot -0 = +0
  • \;-0 - +0 = -0
  • \;-0 - -0 = +0
  • \;+0 + -0 = +0
  • \;-0 + -0 = -0
  • \;x \cdot -0 = -0 (для положительного x)
  • \;x + -0 = x

Ссылки

Для более углублённого изучения

  • Michael Ingrassia Fortran 95 SIGN Change. Sun Developer Network. Архивировано из первоисточника 17 февраля 2012. Проверено 15 октября 2005. — изменения в функции SIGN в Fortran 95 для работы с отрицательным нулём
  • JScript data types. MSDN JScript. Архивировано из первоисточника 17 февраля 2012. Проверено 16 октября 2005. — арифметика с плавающей точкой в JScript содержит отрицательный нуль по определению
  • A look at the floating-point support of the Java virtual machine. Javaworld. Архивировано из первоисточника 17 февраля 2012. Проверено 16 октября 2005. — представление отрицательного нуля в Java virtual machine
  • Comparing floating point numbers, Bruce Dawson — как обращаться с отрицательным нулём при сравнении чисел с плавающей точкой
  • John Walker Minus Zero. UNIVAC Memories. Архивировано из первоисточника 17 февраля 2012. Проверено 17 октября 2005. — Числа в одинарном дополнительном коде на семействе компьютеров UNIVAC 1100.

См. также


Wikimedia Foundation. 2010.

Игры ⚽ Нужен реферат?

Полезное


Смотреть что такое "−0 (программирование)" в других словарях:

  • Программирование (значения) — Программирование Программирование сетевых задач Программирование (музыка) Программирование (математика) …   Википедия

  • Программирование — процесс подготовки задач для их решения с помощью компьютера; итерационный процесс составления программ. По английски: Programming См. также: Программирование Жизненный цикл программного обеспечения Компьютерные программы Финансовый словарь Финам …   Финансовый словарь

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

  • ПРОГРАММИРОВАНИЕ ЭКОНОМИЧЕСКОЕ — индикативное планирование , система государственно монополистического регулирования экономики на основе комплексных общехозяйственных программ, отражающих предпочтительный вариант развития общественного производства и стратегическую концепцию… …   Большой Энциклопедический словарь

  • ПРОГРАММИРОВАНИЕ — ПРОГРАММИРОВАНИЕ, см. КОМПЬЮТЕРНОЕ ПРОГРАММИРОВАНИЕ …   Научно-технический энциклопедический словарь

  • ПРОГРАММИРОВАНИЕ — 1) процесс составления программы, плана действий. 2) Раздел информатики, изучающий методы и приёмы составления программ. С долей условности П. как дисциплина разделяется на: теоретическое, изучающее матем. абстракции программ (как объектов с… …   Физическая энциклопедия

  • программирование — кодирование (на (машинном, мышинном) языке) Словарь русских синонимов. программирование сущ., кол во синонимов: 9 • автопрограммирование (1) …   Словарь синонимов

  • программирование — я, ср. programmer.1. Раздел вычислительной математики и техники, связанный с эксплуатацией электронных машин, с автоматическим программным управлением; составлением программ 10. БАС 1. 2. Действие по знач. гл. программировать. Программирование… …   Исторический словарь галлицизмов русского языка

  • ПРОГРАММИРОВАНИЕ — Процесс и искусство создания компьютерных программ и/или программного обеспечения с помощью языков программирования. Программирование сочетает в себе элементы искусства, фундаментальных наук (прежде всего информатика и математика), инженерии,… …   Словарь бизнес-терминов

  • программирование — Научная и практическая деятельность по созданию программ. [ГОСТ 19781 90] программирование разработка ПО — [Е.С.Алексеев, А.А.Мячев. Англо русский толковый словарь по системотехнике ЭВМ. Москва 1993] Тематики информационные технологии в… …   Справочник технического переводчика

  • программирование аналоговой вычислительной машины — Процесс подготовки решения задачи, включающий выбор метода решения, преобразование заданной системы уравнений, подготовку всех исходных данных для постановки задачи на машине. [Сборник рекомендуемых терминов. Выпуск 84. Аналоговая вычислительная… …   Справочник технического переводчика


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»