• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

  • Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

GopnikToday

Member
20.10.2019
18
0
BIT
0
Вообщем, я начал читать книгу C# 4.0: полное руководство и в ходе её чтение на одном моменте я застопорился, а именно: Отрицательные числа практически всегда представляются методом дополнения до двух, в соответствии с которым все двоичные разряды отрицательного числа сначала инвертируются, а затем к этому числу добавляется 1.
Не могу понять данное предложение, буду очень рад если кто-нибудь поможет мне в этом маленьком деле. Заранее спасибо.
 

f1tz

Member
14.12.2019
8
0
BIT
0
Я бы посоветовал не зацикливатсья на подобных моментах, а продолжать чтение. Возможно далее будет какое-то практическое объяснение данного момента, да и пробы с переводом всегда могут быть.
 

dreamseller

Green Team
02.03.2019
36
7
BIT
0
Это обусловлено реализацией процессора
Так проще например реализовать сложение
Например:
+5 если представить в битах = 0000 0101
-5 если представить в битах: +5 = 0000 0101, затем (см. алгоритм) инверсия 1111 1010, затем +1 = 1111 1011
Теперь сложение:
+5 + (-5) = 0000 0101 + 1111 1011 = 1 0000 0000 = девятый бит, который 1, отбрасывается = 0000 0000

Шутка. Учите матчасть :)

Попробуй по алгоритму сложить например 134 и -47 и все поймешь
 

zol

Member
26.11.2019
8
0
BIT
0
Если число хранится в восьмиразрядном формате, то таких различных чисел можно записать 2^8=256 чисел.

Если они беззнаковые, то это 0, 1, 2, ..., 255. Попробуйте представить, как на таком множестве чисел реализовать базовые арифметические операции.

С помощью дополнительного кода мы, например, храним те же самые восьмиразрядные числа, их тоже 256, но они описывают другое множество чисел, а именно [-128; 127]. При этом, первый бит числа в двоичном представлении однозначно говорит о том, положительное число или нет. Если нет возможности понять алгоритм, рекомендую просто запомнить, как это делается и повторить на бумажке. Поскладывайте, повычитайте. Осознание должно прийти

P.S.: Если и с этим проблемы, то по запросу "Дополнительный код числа онлайн" несложно найти ресурсы, которым можно делегировать выполнение этих операций
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!