Двоичная система счисления – это система счисления, в которой для представления чисел используются только два символа, обычно “0” и “1”. Она также известна как система счисления с основанием 2, в отличие от широко используемой нами десятичной системы (с основанием 10), в которой используются десять символов (0–9).
В двоичной системе каждая цифра представляет степень двойки, начиная с самой правой цифры. Самая правая цифра представляет 2^0 (что равно 1), следующая цифра представляет 2^1 (что равно 2), следующая цифра представляет 2^2 (что равно 4) и так далее. Комбинируя эти цифры, двоичные числа могут представлять собой любое положительное целое число.
Теперь давайте рассмотрим несколько методов работы с двоичными числами в языках программирования, а также примеры кода:
-
Двоичное преобразование в Python:
# Convert decimal to binary decimal_number = 10 binary_number = bin(decimal_number)[2:] # Remove the '0b' prefix print(binary_number) # Output: 1010 # Convert binary to decimal binary_number = '1010' decimal_number = int(binary_number, 2) print(decimal_number) # Output: 10 -
Двоичное преобразование в JavaScript:
// Convert decimal to binary let decimalNumber = 10; let binaryNumber = decimalNumber.toString(2); console.log(binaryNumber); // Output: 1010 // Convert binary to decimal let binaryNumber = '1010'; let decimalNumber = parseInt(binaryNumber, 2); console.log(decimalNumber); // Output: 10 -
Двоичная арифметика в C++:
// Binary addition unsigned int binaryAddition(unsigned int a, unsigned int b) { while (b != 0) { unsigned int carry = a & b; a = a ^ b; b = carry << 1; } return a; } // Binary subtraction unsigned int binarySubtraction(unsigned int a, unsigned int b) { while (b != 0) { unsigned int borrow = (~a) & b; a = a ^ b; b = borrow << 1; } return a; } -
Двоичные манипуляции в Java:
// Count the number of set bits (1s) in a binary number int countSetBits(int n) { int count = 0; while (n != 0) { n = n & (n - 1); count++; } return count; } // Check if a number is a power of 2 boolean isPowerOfTwo(int n) { return (n & (n - 1)) == 0; }
Используя эти методы, вы можете выполнять различные операции и преобразования двоичных чисел на разных языках программирования.