Website Summary Files Commits Branches @commit @diff @stats
path: root / Sem. 05 / Task 3.cpp
diff options
context:
space:
mode:
1 files changed, 0 insertions, 27 deletions
-rw-r--r--Sem. 05/Task 3.cpp27
diff --git a/Sem. 05/Task 3.cpp b/Sem. 05/Task 3.cpp
deleted file mode 100644
index 6723ee2..0000000
--- a/Sem. 05/Task 3.cpp
+++ /dev/null
@@ -1,27 +0,0 @@
-#include <iostream>
-using namespace std;
-
-
-//Алгоритъмът за събиране с 1 в двоичен запис:
-//От дясно на ляво - правим всички 1-ци на 0, докато не срещнем първата 0.
-//Първата 0 я правим на 1.
-
-// 101001111 + 1
-// 101010000
-int main()
-{
- unsigned int n;
- cin >> n;
-
- int mask = 1; //Най-десният бит на маската е 1-ца. Всички други са 0-ли.
-
-
- while ((n & mask) > 0) //Проверяваме дали текущия бит е 1-ца. (при първото влизане, проверяваме най-десния)
- {
- n ^= mask; // Правим го на 0 ( n = n ^ mask)
- mask <<= 1; // Отместваме маската, за да проверим бит-а в ляво. (mask = mask << 1)
- }
-
- //Открили сме първата 0. 1-цата е на точната позиция в маската.
- n |= mask; // Правим на 1-цa (n = n | mask)
-} \ No newline at end of file