![]() |
|
Модераторы: Poseidon |
![]()
|
|
| Jolia |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 59 Регистрация: 12.3.2007 Репутация: нет Всего: нет |
Здрасте еще раз) я опять по поводу перевода из десятичной системы в двоичную. В общем нужно реализовать этот перевод для всех целых типов char, integer, long и unsigned long в одной программе. Код написан. Только есть проблема. Допустим я перевожу:
(-12) в двоичную получается: 11111111111111111111111111110100 теперь обратно перевожу 11111111111111111111111111110100 в десятичную получается: 4294967284. так и должно быть? или у меня ошибка в коде и надо чего-нибудь добавить? вот код:
может быть стоит на 8 байт сделать - 64 символа??? надеюсь на вас, заранее спасибо!!! |
|||
|
||||
| susanin |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 587 Регистрация: 7.10.2006 Где: Санкт-Петербург Репутация: 3 Всего: 7 |
ну если как пример брать калькулятор в windows то там такая же история...так что все нормально...наверно...
|
|||
|
||||
| Jolia |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 59 Регистрация: 12.3.2007 Репутация: нет Всего: нет |
понадеемся что прокатит)))но если чтооо...я вас поспрашаю на эту тему))))) если можно...
|
|||
|
||||
| Optimus |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 186 Регистрация: 1.9.2007 Репутация: 9 Всего: 14 |
я передел программу из этой темы,
теперь она работает и для отрицательных чисел
Это сообщение отредактировал(а) Optimus - 14.2.2008, 01:41 --------------------
"постановка задачи наполовину решает саму задачу" |
|||
|
||||
| dizzy1984 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 675 Регистрация: 15.2.2007 Репутация: 10 Всего: 25 |
Обычно со знаком не заморачиваются, но подумай сама : как ты из отрицательного числа в одной системе можешь получить положительное в другой? Пример - отрицательное число описывает отсутствие денег, положительное - их наличие. Записывая отсутствие 12-ти рублей и переводя их в систему счисления с основой 2, ты получаешь их наличие. Смешно? Смешно. Если программа должна поддерживать работу и с отрицательными числами, то бери модуль и работай с ним. Потом добавляй правильный знак. В твоем случае правильное представление -12 это -1100. 4294967284 и -12 это одно и то же, в зависимости от того, как посмотреть. Тип long int (4 байта в ms dos) дает 2^32 вариантов и соответственно целое число в диапазоне [0 ; 2^32 - 1], либо [-2^32 / 2 -1 ; 2^32/2] (можно и еще придумать). Эти 2 варианта сооветствуют signed/unsigned. То есть
|
|||
|
||||
| Jolia |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 59 Регистрация: 12.3.2007 Репутация: нет Всего: нет |
ох уж этот перевод...скоро сниться будет... всем ВОООООООТ ТАКООООООЕ ОГРОООООМНОЕ СПАСИБО за то что проконсультировали и помогли!!!
|
|||
|
||||
![]()
|
| Правила форума "Центр помощи" | |
|
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Центр помощи | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |