Швидкий переклад числа з десяткової системи числення в двійкову

Швидкий переклад числа з десяткової системи числення в двійкову

Метод дуже простий. Суть його така: якщо число, яке потрібно перевести з десяткової системи, дорівнює числу "2 в ступені", то це число в двійковій системі містить кількість нулів, рівне ступеню. Попереду на цих нулів додаємо "1".

  • Переведемо число 2 з десятковоїсистеми. 2 = 2 1. Тому в двійковій системі число містить 1 нуль. Попереду ставимо "1" і отримуємо 1 0 2.
  • Переведемо 4 з десятковоїсистеми. 4 = 2 2. Тому в двійковій системі число містить 2 нуля. Попереду ставимо "1" і отримуємо 1 00 2.
  • Переведемо 8 з десятковоїсистеми. 8 = 2 3. Тому в двійковій системі число містить 3 нуля. Попереду ставимо "1" і отримуємо 1 000 2.

На малюнку квадратиками позначено двійкове подання числа, а зліва рожевим кольором-десяткове.

Швидкий переклад числа з десяткової системи числення в двійкову

Аналогічно і для інших чисел "2 в ступені".

Якщо число, яке потрібно перевести, менше числа "2 в ступені" на 1, то в двійковій системі це число складається тільки з одиниць, кількість яких дорівнює ступеню.

  • Переведемо 3 з десятковоїсистеми. 3 = 2 + 2 -1. Тому в двійковій системі число містить 2 одиниці. Отримуємо 11 2.
  • Переведемо 7 з десятковоїсистеми. 7 = 2 3 -1. Тому в двійковій системі число містить 3 одиниці. Отримуємо 111 2.

На малюнку квадратиками позначено двійкове подання числа, а зліва рожевим кольором-десяткове.

Швидкий переклад числа з десяткової системи числення в двійкову

Аналогічний переклад і для інших чисел "2 в ступені-1".

Зрозуміло, що переклад чисел від 0 до 8 можна зробити швидко або розподілом, або просто знати напам'ять їх подання до двійковій системі. Я привела ці приклади, щоб Ви зрозуміли принцип даного методу і використовували його для перекладу більш "значних чисел", наприклад, для перекладу чисел 127,128, 255, 256, 511, 512 і т.д.

Можна зустріти такі завдання, коли потрібно перевести число, не рівне числу "2 в ступені", але близький до нього. Воно може бути більше або менше числа "2 в ступені". Різниця між перекладним числом і числом "2 в ступені" повинна бути невелика. Наприклад, до 3. Подання чисел від 0 до 3 в двійковій системі треба просто знати без перекладу.

Якщо число більше. то вирішуємо так:

Переводимо спочатку число "2 в ступені" в двійкову систему. А потім додаємо до нього різницю між числом "2 в ступені" і перекладним числом.

Наприклад, переведемо 19 з десяткової системи. Воно більше числа "2 в ступені" на 3.

Якщо число менше числа "2 в ступені", то зручніше користуватися числом "2 в ступені-1". Вирішуємо так:

Переводимо спочатку число "2 в ступені-1" в двійкову систему. А потім віднімаємо з нього різницю між числом "2 в ступені-1" і перекладним числом.

Наприклад, переведемо 29 з десяткової системи. Воно більше числа "2 в ступені-1" на 2. 29 = 31-2.

Якщо різниця між перекладним числом і числом "2 в ступені" більше трьох. то можна розбити число на складові, перевести кожну частину в двійкову систему і скласти.

Наприклад, перевести число 528 з десяткової системи. 528 = 512 + 16. Переводимо окремо 512 і 16.
512 = 2 9. 51210 = 1 000000000 2.
16 = 2 4. 1610 = 1 0000 2.
Тепер складемо стовпчиком:

Швидкий переклад числа з десяткової системи числення в двійкову

Дана методика дозволяє витрачати мінімум часу на переклад чисел з десяткової системи в двійкову, але за умови, що Ви прекрасно знаєте числа "2 в ступені". Якщо це не так, то завчіть ці числа. Тим більше, що в задачах з інформатики вони активно використовуються.