Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Перевод числа из 10-ричной системы, в двоичную 
:(
    Опции темы
SIMarOK
Дата 27.10.2004, 21:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 107
Регистрация: 25.10.2004

Репутация: нет
Всего: нет



Помогите люди добрые...ломаю над этим голову уже несколько часов...как мне вычесть 483-384?
Вот что я получаю:
483=0001.1110.0011
384=0001.1000.0000

Инвентирую -384:
0001.1000.0000=1110.0111.1110

И собственно складываю:
0001.1110.0011
+
1110.0111.1110
=1.0000.0110.0001
И инвертирую полученный результат обратно = 1110.1111.1001.1111 - и это получается очень большое число...а должно быть 99:(
Помогите пожалуйста

Это сообщение отредактировал(а) SIMarOK - 27.10.2004, 21:40
PM MAIL   Вверх
cardinal
Дата 27.10.2004, 22:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 2
Всего: 99



Код

+483:  0000 0001 1110 0011
-384:  1111 1110 1000 0000   +
-------------------------------------
+ 99:  0000 0000 0110 0011

То есть -384 у тебя неправильно высчитано...


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
SIMarOK
Дата 27.10.2004, 22:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 107
Регистрация: 25.10.2004

Репутация: нет
Всего: нет



Что-то никак не пойму...можешь написать как ты получил 1111 1110 1000 0000 ?:)
PM MAIL   Вверх
SIMarOK
Дата 27.10.2004, 22:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 107
Регистрация: 25.10.2004

Репутация: нет
Всего: нет



Но почему первые 8 цыфр не инвертируются?
Вот к примеру если вычесть 384-483, то инвертируем 483=
1110.0001.1101

И складываем
Код
+384: 0001.1000.0000
-483: 1110.0001.1101+
-------------------------------------
 1111.1001.1101

Потом же инвертируем обратно и получаем 0000.0110.0011 что и равно 99


PM MAIL   Вверх
cardinal
Дата 27.10.2004, 22:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 2
Всего: 99



Цитата(SIMarOK @ 27.10.2004, 21:20)

можешь написать как ты получил 1111 1110 1000 0000 ?

Взял калькулятор Винды и получил :) Почитай где-нибудь про бинарную арифметику (или как ее там обзывают)...


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
SIMarOK
Дата 27.10.2004, 22:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 107
Регистрация: 25.10.2004

Репутация: нет
Всего: нет



Мне просто надо понять сам алгоритм вычисления, без калькуляторов:)
PM MAIL   Вверх
cardinal
Дата 27.10.2004, 22:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 2
Всего: 99



Тут например (когда нашел опупел - это же то что тебе надо :)):
http://forum.vingrad.ru/index.php?showtopic=20351
Обрати внимание на строку:
Цитата
-N = CPL(N)+1 => 3=CPL(11111101)+1 = 00000010 + 1



--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
SIMarOK
Дата 27.10.2004, 23:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 107
Регистрация: 25.10.2004

Репутация: нет
Всего: нет



Ну вот и получается что инвертирование 0001.1110.0011 дает 1110.0001.1101 - где последний битрейт не изменён для хранения минуса ;-) . Но всёже при сложении какаято чушь выходит:(
PM MAIL   Вверх
cardinal
Дата 27.10.2004, 23:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 2
Всего: 99



Код
-384 = CPL(384)+1 = CPL(1 1000 0000) + 1 = 0 0111 1111 + 1 = 0 1000 0000

483 = 111100011

111100011
010000000  +
------------------
001100011



--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
SIMarOK
Дата 28.10.2004, 00:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 107
Регистрация: 25.10.2004

Репутация: нет
Всего: нет



Всё, разобрался, спасибо:)
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0478 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.