Другие языки программирования и технологии

Как в с++ сложить два числа в двоичной системе? Алгоритм сложения двух чисел в двоичной системе! в с++!!

В двоичной? В виде текста даны они чтоль "01011101011" тип такого?
Чтоб прям в коде писать а=01001 ?
Пишут не в бинарном виде в си... в hex допустим
Александр Войтов
Александр Войтов
57 424
Лучший ответ
Складывай так, как если бы складывал столбиком на бумаге. Отличие от первого класса только в том, что 1+1 = 10.
Михаил Князев
Михаил Князев
9 254
я бы сложил обычные числа а потом поискал функцию типа инттубинари ().
а если числа даны в текстовом формате то сначала вытаскиваеш из строк цифры поштучно в массив, потом пишеш функцию "Складывай так, как если бы складывал столбиком на бумаге" то есть также поштучно справа налево
в предыдущем ответе всё подробно расписано
!A
!! Assyl !! .
253
Напишу только алгоритм, если надо будет написать программу/полный алгоритм - пиши на почту, с радостью отвечу.
Ввод будет массив типа чар, потом полученные числа переводить в массив типа бул в таком же порядке.
То есть если ввод 1101, то массив бул будет выглядеть так:
массив будет к.
к [1]=тру
к [2]=фолс
к [3]=фолс
к [4]=тру
Вычисления будут с помощью инт, то есть надо перевести из бинарной в 10-ричную, вот алгоритм:
два в степени количества знаков в этом числе -1. То есть 1111=2^4-1. Но если будут нули, а они будут?
То из получившегося числа вычитается 2 в степени числа символов после него включая его самого -1. То есть 1100=(2^4-1)-(2^2-1). Но тогда все единицы после нуля пропадут.
Тогда прибавляем к получившемуся числу 2 в степени числа символов после него включая него самого -1. То есть 1101=(2^4-1)-(2^2-1)+(2^1-1)=13. Алгоритм ты в общем понял. 1101001=(2^7-1)-(2^5-1)+(2^4-1)-(2^3-1)+(2^1-1)=127-31+15-7+1=105 (может ошибка в расчетах, устал за день) .
П. С. Пишу всё на русском, т. к. на английском не дает мэйлру.

Ах да, так делать с двумя числами, выполнять с ними операцию, потом делать обратный алгоритм. Если надо сделать полную функцию или описать полную работу алгоритма - пиши в ЛС.
Chem46
Chem46
248

Похожие вопросы