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

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

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

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

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

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

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

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

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

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

0111011112 = 011 101 111 = 011(=3) 101(=5) 111(=7) = 3578

Ответ: 100100012 = 3578 (1 байт)

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

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

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

1∙27+1∙26+1∙25+0∙24+1∙23+1∙22+1∙21+1∙20 = 1∙128+1∙64+1∙32+0∙16+1∙8+1∙4+1∙2+1∙1 = 128+64+32+0+8+4+2+1 = 23910

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

Получилось: 0111011112 =-23910

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

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

2398
-232298
7-243
5
Перевод чисел из одной системы счисления в другую

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

-23910 = 3578

Мы обнаружили что Ваше число отрицательное. Однако в данный момент восьмеричное число не может быть представлено в дополнительном коде.

Ответ: 100100012 = 3578 (1 байт)