Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Zuzik
294 / 250 / 57
Регистрация: 11.06.2012
Сообщений: 1,557
#1

Арифметические операции. Дополнительный код - C++

06.04.2014, 03:15. Просмотров 594. Ответов 5
Метки нет (Все метки)

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

Операция отрицания числа, представленного в прямом коде, выполняется очень просто - нужно инвертировать значение знакового разряда. Если же число представлено в дополнительном коде, отрицание выполняется несколько сложнее. Правило выполнения этой операции формулируется следующим образом.
1.Следует инвертировать значение в каждом разряде представления исходного числа (положительного или отрицательного), включая и знаковый, т.е. установить значение 1 в тех разрядах, где ранее было значение 0, и значение 0 — в тех разрядах, где ранее было значение 1 (эту операцию иногда называют поразрядным дополнением — bitwise complement, а ее результат — инверсным кодом).
2.Нужно сложить образовавшееся число с числом 0. . .001 по правилам сложения чисел без знака.

1 шаг проблем не вызвал. Побитовое отрицание и все. 2 шаг - я помню что тоже делается в одну-две операции. Но не помню в какие. Кто подскажет?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.04.2014, 03:15
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Арифметические операции. Дополнительный код (C++):

Арифметические операции с указателями
Имеется следующий простой код: #include <iostream> using namespace std;...

Быстрые арифметические операции
Здравствуйте. Я знаю, что в си++ есть понятие быстрых арифметических операций...

Арифметические операции с элементами массива
Объявить целочисленный массив L . Используя цикл for (i = ... .. ..) {...}...

Арифметические операции в консольном приложении
program Project5; {$APPTYPE CONSOLE} uses SysUtils; Label 1; Var...

Арифметические операции, сумма ряда
Исправить и объяснить Прошу о помощи. Первая задача, выводит неверный...

Арифметические операции с элементами файлов
Для двух файлов А и В, которые включают по 17 элементов A={ai }, B={bi} ...

5
Fene4ka_
102 / 102 / 40
Регистрация: 24.01.2014
Сообщений: 1,244
06.04.2014, 03:27 #2
Zuzik, а нельзя число из дополнительного кода перевести в прямой и выполнить отрицание ?
0
Zuzik
294 / 250 / 57
Регистрация: 11.06.2012
Сообщений: 1,557
06.04.2014, 03:40  [ТС] #3
нет, тут именно операции с числами в доп.коде
0
Liden
19 / 19 / 3
Регистрация: 19.11.2013
Сообщений: 83
06.04.2014, 10:48 #4
Zuzik, я так понял нужно повертеть с бинарным и тернарным сложением по модулю 2 + алгоритм маленький сообразить)
1
zss
Модератор
Эксперт С++
6956 / 6518 / 4138
Регистрация: 18.12.2011
Сообщений: 17,208
Завершенные тесты: 1
06.04.2014, 11:51 #5
Цитата Сообщение от Zuzik Посмотреть сообщение
Но не помню в какие.
1.Инвертировать. 2. Прибавить единицу
0
Zuzik
294 / 250 / 57
Регистрация: 11.06.2012
Сообщений: 1,557
07.04.2014, 03:22  [ТС] #6
Цитата Сообщение от zss Посмотреть сообщение
1.Инвертировать. 2. Прибавить единицу
Гениально. Честно, гениально. Но - действия должны производится через операции над битами числа.

Добавлено через 54 минуты
и как прибавить через имеющиеся битовые операции единицу я не помню. Но знаю что сделать это можно.

Добавлено через 19 минут
Что то я начал сомневаться. Возможно и нельзя. Буду рад предложенным простым вариантам. Вариант в столбик складывать можно не предлагать.

Добавлено через 3 часа 30 минут
Тема можно закрыть. Вопрос не решен (использован вариант со сложением в столбик), но и уже не требует решения так как он для меня не актуален.
0
07.04.2014, 03:22
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.04.2014, 03:22
Привет! Вот еще темы с решениями:

Арифметические операции. Комплексные числа
Была поставлена задача: class Complex Смешанная арифметика ( перегрузка...

Арифметические операции с двоичными числами
Вопрос такой. Вот задание: Двоичные числа (разбор строки, формирование...

Реализовать арифметические операции с комплексными числами
Создайте структуру, описывающую комплексное число. Реализуйте арифметические...

Арифметические операции, найти ошибку в коде
Где ошыбка? #include <iostream> #include <iomanip> using namespace std;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru