Comments adjusted
This commit is contained in:
@@ -4,14 +4,14 @@
|
|||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
|
||||||
bool* addBinary(bool* A, bool* B, int size) {
|
bool* addBinary(bool* A, bool* B, int size) {
|
||||||
bool* result = new bool[size](); // Результат может быть на 1 бит больше
|
bool* result = new bool[size]();
|
||||||
bool carry = false; // Перенос
|
bool carry = false; // Перенос
|
||||||
|
|
||||||
for (int i = size - 1; i >= 0; i--) {
|
for (int i = size - 1; i >= 0; i--) {
|
||||||
// Сложение с учетом переноса
|
// Сложение с учетом переноса
|
||||||
bool sum = A[i] ^ B[i] ^ carry; // XOR для сложения
|
bool sum = A[i] ^ B[i] ^ carry; // XOR для сложения
|
||||||
carry = (A[i] && B[i]) || (carry && (A[i] || B[i])); // Логика переноса
|
carry = (A[i] && B[i]) || (carry && (A[i] || B[i])); // Логика переноса
|
||||||
result[i + 1] = sum; // Записываем результат
|
result[i + 1] = sum; // Запись результата
|
||||||
}
|
}
|
||||||
result[0] = carry; // Записываем перенос в старший бит
|
result[0] = carry; // Записываем перенос в старший бит
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user