Есть ли отрицательный ноль? - PullRequest
3 голосов
/ 17 ноября 2010

Я кодирую простой калькулятор только для того, чтобы начать работу с iPhone.Дело в том, что у меня есть кнопка (-), которая должна сводить на нет все, что уже выведено на экран, выполняя простую *-1.Он работает нормально, за исключением случаев, когда предыдущий ввод 0.

Сценарий: С пустым экраном или 0, я нажимаю (-), чтобы отрицать.Затем, когда я нажимаю, например, 9, я хочу, чтобы он прочитал (или, скорее, будет ) -9.Не 9, как сейчас.К вашему сведению, я везде работаю с примитивными целыми, но я готов прервать это.

Вопросы: Как представить отрицательный 0?Есть ли тип данных, который я могу использовать, который поддерживает его?NSInteger?

Или это единственный способ сделать какой-нибудь хакерский обходной путь с булевыми состояниями, stringWithFormat и т. Д.

Оцените помощь./ О

Ответы [ 2 ]

1 голос
/ 17 ноября 2010

float и double поддерживают -0 (что отличается от 0, если память служит).См. здесь для получения дополнительной информации, хотя я не уверен, использование -0 в вашем приложении будет особенно полезно для пользователей.У вас есть убедительный вариант использования, который требует этого?

0 голосов
/ 17 ноября 2010

Нет такого понятия, как отрицательный ноль.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...