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