3 / 27 / 2
Регистрация: 23.10.2013
Сообщений: 2,331
1

Отрицательное число в битах

13.09.2017, 10:32. Показов 5866. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Можете объяснить зачем при переводе числа в отрицательное мы берем сначала обратный код а потом прибавляем к нему единицу?? Можете пояснить что значат эти операции??

Добавлено через 50 секунд
Что по сути из себя представляет обратный код по отношению к числу а что дополнительный??
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.09.2017, 10:32
Ответы с готовыми решениями:

Найти отрицательное число и после отрицательное число заменить все элемент на нули
Найти отрицательное число и после отрицательное число заменить все элемент на нули

Дано целое число. Вывести его строку-описание вида «отрицательное чет-ное число», «нулевое число», «положительное нечетное число» и т. д.
Дано целое число. Вывести его строку-описание вида «отрицательное чет-ное число», «нулевое число»,...

Найти наибольшее отрицательное число и наименьшее положительное число среди 6 чисел
Даны шесть целых чисел. Найдите наибольшее отрицательное число и наименьшее положительное число...

Определить, сколько пар (положительное число, отрицательное число) находятся в начале массива
Дан целочисленный массив B. Определить, сколько пар (положительное число, отрицательное число)...

5
Падаван С++
447 / 261 / 89
Регистрация: 11.11.2014
Сообщений: 916
13.09.2017, 10:48 2
yura91, Есть прямой код и дополнительный, прямой по сути это само по себе представление положительного числа в битах, а дополнительный к нему же это его инверсия с +1 и используется для представления отрицательных чисел, нужны они для выполнения более быстрых арифмитических операций с числами, вот пример вычислений

Операция сложения положительного числа и отрицательного числа, представленного в прямом коде

Прямой код числа 5: 0 000 0101
Прямой код числа -7: 1 000 0111
Два исходных числа сравниваются. В разряд знака результата записывается знак большего исходного числа.
Если числа имеют разные знаки, то вместо операции сложения используется операция вычитания из большего по модулю значения меньшего. При этом первый (знаковый) разряд в операции не участвует.
_ 000 0111
000 0101
-------------
000 0010
После выполнения операции учитывается первый разряд. Результат операции 1 000 0010, или -210.
Операция сложения положительного числа и отрицательного числа, представленного в дополнительном коде

Прямой код числа 5: 0 000 0101
Прямой код числа -7: 1 000 0111
Формирование дополнительного кода числа -7.
Прямой код : 1 000 0111
Инверсия : 1 111 1000
Добавление единицы: 1 111 1001
Операция сложения.
0 000 0101
+ 1 111 1001
--------------
1 111 1110
Проверка результата путем преобразования к прямому коду.
Дополнительный код: 1 111 1110
Вычитание единицы : 1 111 1101
Инверсия : 1 000 0010 (или -210)

с использованием дополнительного кода алгоритм более понятен и легче реализуем
0
Неэпический
17848 / 10616 / 2049
Регистрация: 27.09.2012
Сообщений: 26,684
Записей в блоге: 1
13.09.2017, 10:53 3
Цитата Сообщение от yura91 Посмотреть сообщение
Можете объяснить зачем
Чтобы не тратить транзисторы на реализацию операции вычитания.
В таком виде достаточно только операции сложения.
0
3 / 27 / 2
Регистрация: 23.10.2013
Сообщений: 2,331
13.09.2017, 11:52  [ТС] 4
А в конъюнкции(ну в логических операциях) участвует знаковый разряд ? Ну к примеру если один знаковый int с помощью конъюнкции соединить с другим таким же знаковым int, то знаковый бит будет участвовать в этой операции??

Добавлено через 3 минуты
Просто в арифметических операциях над битами знаковый разряд не участвует а дописывается в конце так ведь? Это же самый первый бит насколько я знаю верно?
0
Неэпический
17848 / 10616 / 2049
Регистрация: 27.09.2012
Сообщений: 26,684
Записей в блоге: 1
13.09.2017, 11:54 5
Цитата Сообщение от yura91 Посмотреть сообщение
то знаковый бит будет участвовать в этой операции??
Будет.
0
Notoriously
13.09.2017, 11:54     Отрицательное число в битах
  #6

Не по теме:

yura91,
Что вам мешает проверить? Не знаете как, вам подскажут.

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.09.2017, 11:54

Умножить каждое число на первое отрицательное число. Добавив к каждому числу половину последнего отрицательного числа
Здравствуйте! подскажите как реализовать на си++ "Умножить каждое число на первое отрицательное...

Проверка на отрицательное число
Есть код, который проверяет, действительно ли введен int bool log1 = true; while(log1) {...

Отрицательное число в степени
Как написать (-1) в какой - либо степени или это можно сделать с помощью условия .....?

Беззнаковое целое и отрицательное число
Здравствуйте. Если я сначала из беззнакового целого числа вычту положительное число, а потом...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru