https://mathweb.ru/numberconverter.html?id=203397

Перевод 1001001001001001(Знаковое Дополнительный 2 байта) из двоичной в восьмеричную систему счисления

Введите число:
Его система счисления:
Двоичная
Троичная
Восьмеричная
Десятичная
Шестнадцатиричная
Двоично-десятичная
Другая
Дополнительно
Знаковое
Прямой
Обратный
Дополнительный
Беззнаковое
1 байт
2 байта
4 байта
8 байт

Вы указали что ваше число находится в дополнительном коде. Для дальнейшего преобразования необходимо получить прямой код числа. Поэтому выполним преобразование из дополнительного кода в прямой.

Для этого сначала выполним преобразование из дополнительного кода в обратный вычитанием 1 бита, затем получим прямой код инвертированием всех битов кроме знакового.

1001001001001001 дополнительный код
-1-1 бит
1001001001001000обратный код
1110110110110111прямой код
Получилось:1110110110110111

Данный перевод возможен двумя способами: прямой перевод и через десятичную систему.

Сначала выполним прямой перевод.

Дополним число недостающими нулями слева

Выполним прямой перевод из двоичной в восмиричную вот так:

0011101101101101112 = 001 110 110 110 110 111 = 001(=1) 110(=6) 110(=6) 110(=6) 110(=6) 111(=7) = 1666678

Ответ: 10010010010010012 = 1666678

Теперь выполним перевод через десятичную систему счисления.

Выполним перевод в десятичную систему счисления вот так:

Знаковый бит в переводе не участвует!

0∙216+1∙215+1∙214+1∙213+0∙212+1∙211+1∙210+0∙29+1∙28+1∙27+0∙26+1∙25+1∙24+0∙23+1∙22+1∙21+1∙20 = 0∙65536+1∙32768+1∙16384+1∙8192+0∙4096+1∙2048+1∙1024+0∙512+1∙256+1∙128+0∙64+1∙32+1∙16+0∙8+1∙4+1∙2+1∙1 = 0+32768+16384+8192+0+2048+1024+0+256+128+0+32+16+0+4+2+1 = 6085510

Так как число знаковое и имеет знаковый бит, то результат будет иметь отрицательный знак

Получилось: 0011101101101101112 =-6085510

Переведем число -6085510 в восьмеричное вот так:

Целая часть числа находится делением на основание новой системы счисления:

608558
-6084876068
7-76009508
6-9441188
6-112148
6-81
6
Перевод чисел из одной системы счисления в другую

В результате преобразования получилось:

-6085510 = 1666678

Мы обнаружили что Ваше число отрицательное. Для дальнейшего перевода из прямого кода в дополнительный укажите размер числа: (1 байт, 2 байта,4 байта,8 байт).

Ответ: 10010010010010012 = 1666678