Вычислить систему счисления. Перевод чисел из одной системы счисления в другую онлайн

Запишите число в двоичной системе счисления, а степени двойки справа налево. Например, мы хотим преобразовать двоичное число 10011011 2 в десятичное. Сначала запишем его. Затем запишем степени двойки справа налево. Начнем с 2 0 , что равно "1". Увеличиваем степень на единицу для каждого следующего числа. Останавливаемся, когда число элементов в списке равно числу цифр в двоичном числе. Наше число для примера, 10011011, включает в себя восемь цифр, поэтому список из восьми элементов будет выглядеть так: 128, 64, 32, 16, 8, 4, 2, 1

Запишите цифры двоичного числа под соответствующими степенями двойки. Теперь просто запишите 10011011 под числами 128, 64, 32, 16, 8, 4, 2, и 1, с тем чтобы каждая двоичная цифра соответствовала своей степени двойки. Самая правая "1" двоичного числа должна соответствовать самой правой "1" из степеней двоек, и так далее. Если вам удобнее, вы можете записать двоичное число над степенями двойки. Самое важное – чтобы они соответствовали друг другу.

Соедините цифры в двоичном числе с соответствующими степенями двойки. Нарисуйте линии (справа налево), которые соединяют каждую последующую цифру двоичного числа со степенью двойки, находящейся над ней. Начните построение линий с соединения первой цифры двоичного числа с первой степенью двойки над ней. Затем нарисуйте линию от второй цифры двоичного числа ко второй степени двойки. Продолжайте соединять каждую цифру с соответствующей степенью двойки. Это поможет вам визуально увидеть связь между двумя различными наборами чисел.

Запишите конечное значение каждой степени двойки. Пройдитесь по каждой цифре двоичного числа. Если эта цифра 1, запишите соответствующую степень двойки под цифрой. Если эта цифра 0, запишите под цифрой 0.

  • Так как "1" соответствует "1", она остается "1". Так как "2" соответствует "1", она остается "2". Так как "4" соответствует "0", она становится "0". Так как "8" соответствует "1", она становится "8", и так как "16" соответствует "1" она становится "16". "32" соответствует "0" и становится "0", "64" соответствует "0" и поэтому становится "0", в то время как "128" соответствует "1" и становится 128.
  • Сложите получившиеся значения. Теперь сложите получившиеся под линией цифры. Вот что вы должны сделать: 128 + 0 + 0 + 16 + 8 + 0 + 2 + 1 = 155. Это десятичный эквивалент двоичного числа 10011011.

    Запишите ответ вместе с нижним индексом, равным системе счисления. Теперь все, что вам осталось сделать – это записать 155 10 , чтобы показать, что вы работаете с десятичным ответом, который оперирует степенями десятки. Чем больше вы будете преобразовывать двоичные числа в десятичные, тем проще вам будет запомнить степени двойки, и тем быстрее вы сможете выполнять данную задачу.

  • Используйте данный метод, чтобы преобразовать двоичное число с десятичной точкой в десятичную форму. Вы можете использовать данный метод даже если вы хотите преобразовать двоичное число, такое как 1.1 2 в десятичное. Все, что вам необходимо знать – это то, что число в левой части десятичного числа – это обычное число, а число в правой части десятичного числа – это число "делений надвое", или 1 x (1/2).

    • "1" слева от десятичного числа соответствует 2 0 , или 1. 1 справа от десятичного числа соответствует 2 -1 , или.5. Сложите 1 и.5 и вы получите 1.5, которое является эквивалентом 1.1 2 в десятичном виде.
  • Чтобы быстро переводить числа из десятичной системы счисления в двоичную, нужно хорошо знать числа "2 в степени". Например, 2 10 =1024 и т.д. Это позволит решать некоторые примеры на перевод буквально за секунды. Одной из таких задач является задача A1 из демо ЕГЭ 2012 года . Можно, конечно, долго и нудно делить число на "2". Но лучше решать по-другому, экономя драгоценное время на экзамене.

    Метод очень простой. Суть его такая: если число, которое нужно перевести из десятичной системы, равно числу "2 в степени", то это число в двоичной системе содержит количество нулей, равное степени. Впереди этих нулей добавляем "1".

    • Переведем число 2 из десятичной системы. 2=2 1 . Поэтому в двоичной системе число содержит 1 нуль . Впереди ставим "1" и получаем 10 2 .
    • Переведем 4 из десятичной системы. 4=2 2 . Поэтому в двоичной системе число содержит 2 нуля . Впереди ставим "1" и получаем 100 2.
    • Переведем 8 из десятичной системы. 8=2 3 . Поэтому в двоичной системе число содержит 3 нуля . Впереди ставим "1" и получаем 1000 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.

    16=2 4 . 16 10 =10000 2 .

    3 10 =11 2 .

    19 10 =10000 2 +11 2 =10011 2 .

    Если число меньше числа "2 в степени", то удобнее пользоваться числом "2 в степени-1". Решаем так:

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

    Например, переведем 29 из десятичной системы. Оно больше числа "2 в степени-1" на 2. 29=31-2.

    31 10 =11111 2 .

    2 10 =10 2 .

    29 10 =11111 2 -10 2 =11101 2

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

    Например, перевести число 528 из десятичной системы. 528=512+16. Переводим отдельно 512 и 16.
    512=2 9 . 512 10 =1000000000 2 .
    16=2 4 . 16 10 =10000 2 .
    Теперь сложим столбиком:

    2.3. Перевод чисел из одной системы счисления в другую

    2.3.1. Перевод целых чисел из одной системы счисления в другую

    Можно сформулировать алгоритм перевода целых чисел из системы с основанием p в систему с основанием q :

    1. Основание новой системы счислениявыразитьцифрамиисходной системы счисления ивсепоследующие действия производить в исходной системе счисления.

    2. Последовательно выполнять деление данного числаиполучаемых целых частных на основание новой системы счисления до тех пор, пока не получим частное, меньшее делителя.

    3. Полученныеостатки,являющиеся цифрами числа в новой системе счисления, привести в соответствие с алфавитом новой системы счисления.

    4. Составить число в новой системе счисления, записывая его, начиная с последнего остатка.

    Пример 2.12. Перевестидесятичное число 173 10 в восьмеричную систему счисления:

    Получаем:173 10 =255 8

    Пример 2.13. Перевести десятичное число 173 10 в шестнадцатеричную систему счисления:

    Получаем: 173 10 =AD 16 .

    Пример 2.14. Перевести десятичное число 11 10 в двоичную систему счисления. Рассмотреннуювыше последовательность действий (алгоритм перевода) удобнее изобразить так:

    Получаем: 11 10 =1011 2 .

    Пример 2.15. Иногда более удобно записать алгоритм перевода в форме таблицы. Переведем десятичное число 363 10 в двоичное число.

    Делитель

    Получаем: 363 10 =101101011 2

    2.3.2. Перевод дробных чисел из одной системысчисленияв другую

    Можно сформулировать алгоритм перевода правильнойдроби с основанием p в дробь с основанием q:

    1. Основание новой системы счислениявыразитьцифрамиисходной системы счисленияивсепоследующие действия производить в исходной системе счисления.

    2. Последовательноумножатьданноечислои получаемые дробные части произведений на основание новой системы до тех пор, пока дробная часть произведенияне станет равной нулю или будет достигнута требуемая точность представления числа.

    3. Полученные целые части произведений,являющиеся цифрами числа в новой системе счисления,привести в соответствие с алфавитомновой системы счисления.

    4. Составить дробную часть числа в новой системе счисления, начиная с целой части первого произведения.

    Пример 2.17. Перевести число 0,65625 10 в восьмеричную систему счисления.

    Получаем: 0,65625 10 =0,52 8

    Пример 2.17. Перевести число 0,65625 10 вшестнадцатеричнуюсистему счисления.

    x 16

    Получаем: 0,65625 10 =0,А8 1

    Пример 2.18. Перевестидесятичнуюдробь 0,5625 10 в двоичную систему счисления.

    x 2

    x 2

    x 2

    x 2

    Получаем: 0,5625 10 =0,1001 2

    Пример 2.19. Перевести в двоичную систему счисления десятичную дробь 0.7 10 .

    Очевидно, чтоэтот процесс может продолжаться бесконечно,давая все новые и новые знакивизображениидвоичногоэквивалентачисла 0,7 10 . Так,за четыре шага мы получаем число 0,1011 2 , а за семь шагов число 0,1011001 2 ,которое является более точным представлениемчисла 0,7 10 в двоичной системе счисления,и т.д.Такой бесконечный процесс обрывают на некотором шаге, когда считают, что получена требуемая точность представления числа.

    2.3.3. Перевод произвольных чисел

    Перевод произвольных чисел,т.е. чисел, содержащих целую и дробную части,осуществляется в два этапа.Отдельно переводится целая часть, отдельно - дробная. В итоговой записи полученного числа целая часть отделяется от дробной запятой (точкой).

    Пример 2.20 . Перевести число 17,25 10 в двоичную систему счисления.

    Получаем: 17,25 10 =1001,01 2

    Пример 2.21. Перевести число 124,25 10 в восьмеричную систему.

    Получаем: 124,25 10 =174,2 8

    2.3.4. Перевод чисел из системы счисления с основанием 2 в систему счисления с основанием 2 n и обратно

    Перевод целых чисел. Если основание q-ичной системы счисления является степеньючисла 2, топереводчисел из q-ичной системы счисления в 2-ичную и обратно можно проводить по более простым правилам. Для того, чтобы целое двоичное число записать в системе счисления с основанием q=2 n , нужно:

    1. Двоичное число разбить справа налево на группы по nцифр в каждой.

    2. Если в последней левой группе окажется меньше n разрядов, то ее надо дополнить слева нулями до нужного числа разрядов.

    Пример 2.22. Число 101100001000110010 2 переведем в восьмеричную систему счисления.

    Разбиваем число справа налево на триады и под каждой из них записываем соответствующую восьмеричную цифру:

    Получаем восьмеричное представление исходного числа: 541062 8 .

    Пример 2.23. Число 1000000000111110000111 2 переведем в шестнадцатеричную систему счисления.

    Разбиваем числосправа налево на тетрады и под каждой из них записываем соответствующую шестнадцатеричную цифру:

    Получаем шестнадцатеричноепредставлениеисходногочисла: 200F87 16 .

    Перевод дробных чисел. Длятого,чтобыдробное двоичное число записать в системе счисления с основанием q=2 n , нужно:

    1. Двоичное число разбить слева направо на группы по nцифр в каждой.

    2. Еслив последней правой группе окажется меньше n разрядов,то ее надо дополнить справа нулями до нужного числа разрядов.

    3. Рассмотреть каждую группу как n-разрядное двоичное число изаписать ее соответствующей цифрой в системе счисления с основанием q=2 n .

    Пример 2.24. Число0,10110001 2 переведем в восьмеричную систему счисления.

    Разбиваем число слева направо на триады и под каждой из них записываем соответствующую восьмеричную цифру:

    Получаем восьмеричное представление исходного числа: 0,542 8 .

    Пример 2.25. Число0,100000000011 2 переведем в шестнадцатеричную систему счисления. Разбиваем число слева направо на тетрады и под каждой из них записываем соответствующую шестнадцатеричную цифру:

    Получаем шестнадцатеричноепредставлениеисходногочисла: 0,803 16

    Перевод произвольных чисел. Для того, чтобы произвольное двоичное число записать в системе счисления с основанием q=2 n , нужно:

    1. Целую часть данногодвоичногочисларазбитьсправа налево, а дробную - слева направо на группы по n цифр в каждой.

    2. Если в последних левой и/или правой группах окажется меньше n разрядов, то их надо дополнить слева и/или справа нулямидо нужного числа разрядов;

    3.Рассмотретькаждую группу как n-разрядное двоичное число и записать ее соответствующей цифрой в системе счисления с основанием q=2 n

    Пример 2.26. Число 111100101,0111 2 переведем в восьмеричную систему счисления.

    Разбиваем целую и дробную части числа на триады и под каждой из них записываем соответствующую восьмеричную цифру:

    Получаем восьмеричное представление исходного числа: 745,34 8 .

    Пример 2.27. Число11101001000,11010010 2 переведем в шестнадцатеричную систему счисления.

    Разбиваем целую и дробную части числа на тетрадыи под каждой из них записываем соответствующую шестнадцатеричную цифру:

    Получаем шестнадцатеричное представление исходного числа: 748,D2 16 .

    Перевод чисел из систем счисления с основанием q=2 n в двоичную систему. Для того, чтобы произвольное число, записанное в системе счисления с основанием q=2 n , перевести в двоичную систему счисления, нужно каждую цифру этого числа заменить ее n-значным эквивалентом в двоичной системе счисления.

    Пример 2.28 .Переведем шестнадцатеричное число 4АС35 16 вдвоичную систему счисления.

    В соответствии с алгоритмом:

    Получаем: 1001010110000110101 2 .

    Задания для самостоятельного выполнения (Ответы )

    2.38. Заполните таблицу, в каждой строке которой одно и то же целое число должно быть записано в различных системах счисления.

    Двоичная

    Восьмеричная

    Десятичная

    Шестнадцатеричная

    2.39. Заполните таблицу, в каждой строке которой одно и то же дробное число должно быть записано в различных системах счисления.

    Двоичная

    Восьмеричная

    Десятичная

    Шестнадцатеричная

    2.40. Заполните таблицу, в каждой строке которой одно и то же произвольное число (число может содержать как целую, так и дробную часть) должно быть записано в различных системах счисления.

    Двоичная

    Восьмеричная

    Десятичная

    Шестнадцатеричная

    59,B

    Замечание 1

    Если вы хотите перевести число из одной системы счисления в другую, то удобнее для начала перевести его в десятичную систему счисления, и уже только потом из десятичной перевести в любую другую систему счисления.

    Правила перевода чисел из любой системы счисления в десятичную

    В вычислительной технике, использующей машинную арифметику, большую роль играет преобразование чисел из одной системы счисления в другую. Ниже приведем основные правила таких преобразований (переводов).

      При переводе двоичного числа в десятичное требуется представить двоичное число в виде многочлена , каждый элемент которого представлен в виде произведения цифры числа и соответствующей степени числа основания, в данном случае $2$, а затем нужно вычислить многочлен по правилам десятичной арифметики:

      $X_2=A_n \cdot 2^{n-1} + A_{n-1} \cdot 2^{n-2} + A_{n-2} \cdot 2^{n-3} + ... + A_2 \cdot 2^1 + A_1 \cdot 2^0$

    Рисунок 1. Таблица 1

    Пример 1

    Число $11110101_2$ перевести в десятичную систему счисления.

    Решение. Используя приведенную таблицу $1$ степеней основания $2$, представим число в виде многочлена:

    $11110101_2 = 1 \cdot 27 + 1 \cdot 26 + 1 \cdot 25 + 1 \cdot 24 + 0 \cdot 23 + 1 \cdot 22 + 0 \cdot 21 + 1 \cdot 20 = 128 + 64 + 32 + 16 + 0 + 4 + 0 + 1 = 245_{10}$

      Для перевода числа из восьмеричной системы счисления в десятичную требуется представить его в виде многочлена, каждый элемент которого представлен в виде произведения цифры числа и соответствующей степени числа основания, в данном случае $8$, а затем нужно вычислить многочлен по правилам десятичной арифметики:

      $X_8 = A_n \cdot 8^{n-1} + A_{n-1} \cdot 8^{n-2} + A_{n-2} \cdot 8^{n-3} + ... + A_2 \cdot 8^1 + A_1 \cdot 8^0$

    Рисунок 2. Таблица 2

    Пример 2

    Число $75013_8$ перевести в десятичную систему счисления.

    Решение. Используя приведенную таблицу $2$ степеней основания $8$, представим число в виде многочлена:

    $75013_8 = 7\cdot 8^4 + 5 \cdot 8^3 + 0 \cdot 8^2 + 1 \cdot 8^1 + 3 \cdot 8^0 = 31243_{10}$

      Для перевода числа из шестнадцатеричной системы счисления в десятичную необходимо его представить в виде многочлена, каждый элемент которого представлен в виде произведения цифры числа и соответствующей степени числа основания, в данном случае $16$, а затем нужно вычислить многочлен по правилам десятичной арифметики:

      $X_{16} = A_n \cdot 16^{n-1} + A_{n-1} \cdot 16^{n-2} + A_{n-2} \cdot 16^{n-3} + ... + A_2 \cdot 16^1 + A_1 \cdot 16^0$

    Рисунок 3. Таблица 3

    Пример 3

    Число $FFA2_{16}$ перевести в десятичную систему счисления.

    Решение. Используя приведенную таблицу $3$ степеней основания $8$, представим число в виде многочлена:

    $FFA2_{16} = 15 \cdot 16^3 + 15 \cdot 16^2 + 10 \cdot 16^1 + 2 \cdot 16^0 =61440 + 3840 + 160 + 2 = 65442_{10}$

    Правила перевода чисел из десятичной системы счисления в другую

    • Для перевода числа из десятичной системы счисления в двоичную его необходимо последовательно делить на $2$ до тех пор, пока не останется остаток, меньший или равный $1$. Число в двоичной системе представить как последовательность последнего результата деления и остатков от деления в обратном порядке.

    Пример 4

    Число $22_{10}$ перевести в двоичную систему счисления.

    Решение:

    Рисунок 4.

    $22_{10} = 10110_2$

    • Для перевода числа из десятичной системы счисления в восьмеричную его необходимо последовательно делить на $8$ до тех пор, пока не останется остаток, меньший или равный $7$. Число в восьмеричной системе счисления представить как последовательность цифр последнего результата деления и остатков от деления в обратном порядке.

    Пример 5

    Число $571_{10}$ перевести в восьмеричную систему счисления.

    Решение:

    Рисунок 5.

    $571_{10} = 1073_8$

    • Для перевода числа из десятичной системы счисления в шестнадцатеричную систему его необходимо последовательно делить на $16$ до тех пор, пока не останется остаток, меньший или равный $15$. Число в шестнадцатеричной системе представить как последовательность цифр последнего результата деления и остатков от деления в обратном порядке.

    Пример 6

    Число $7467_{10}$ перевести в шестнадцатеричную систему счисления.

    Решение:

    Рисунок 6.

    $7467_{10} = 1D2B_{16}$

      Для того чтобы перевести правильную дробь из десятичной системы счисления в недесятичную, необходимо дробную часть преобразуемого числа последовательно умножить на основание той системы, в которую ее требуется перевести. Дробь в новой системе будет представлена в виде целых частей произведений, начиная с первого.

      Например: $0,3125_{(10)}$ в восьмеричной системе счисления будет выглядеть как $0,24_{(8)}$.

      В данном случае можно столкнуться с проблемой, когда конечной десятичной дроби может соответствовать бесконечная (периодическая) дробь в недесятичной системе счисления. В данном случае количество знаков в дроби, представленной в новой системе, будет зависеть от требуемой точности. Также нужно отметить, что целые числа остаются целыми, а правильные дроби - дробями в любой системе счисления.

    Правила перевода чисел из двоичной системы счисления в другую

    • Чтобы перевести число из двоичной системы счисления в восьмеричную, его необходимо разбить на триады (тройки цифр), начиная с младшего разряда, в случае необходимости дополнив старшую триаду нулями, затем каждую триаду заменить соответствующей восьмеричной цифрой согласно таблице 4.

    Рисунок 7. Таблица 4

    Пример 7

    Число $1001011_2$ перевести в восьмеричную систему счисления.

    Решение . Используя таблицу 4, переведем число из двоичной системы счисления в восьмеричную:

    $001 001 011_2 = 113_8$

    • Чтобы перевести число из двоичной системы счисления в шестнадцатеричную, его следует разбить на тетрады (четверки цифр), начиная с младшего разряда, в случае необходимости дополнив старшую тетраду нулями, затем каждую тетраду заменить соответствующей восьмеричной цифрой согласно таблице 4.

    Когда занимаешься настройками сетей различного масштаба и каждый день сталкиваешься с вычислениями – то такого рода шпаргалки заводить не обязательно, все и так делается на безусловном рефлексе. Но когда в сетях ковыряешься очень редко, то не всегда вспомнишь какая там маска в десятичной форме для префикса 21 или же какой адрес сети при этом же префиксе. В связи с этим я и решил написать несколько маленьких статей-шпаргалок по переводом чисел в различные системы счислений, сетевым адресам, маскам и т.п. В это части пойдет речь о переводи чисел в различные системы счислений.

    1. Системы счислений

    Когда вы занимаетесь чем-то связанным с компьютерными сетями и ИТ, вы по любому столкнетесь с этим понятием. И как толковый ИТ-шник вам нужно разбираться в этом хотя бы чу-чуть даже если на практике вы это будете применять очень редко.
    Рассмотрим перевод каждой цифры из IP-адреса 98.251.16.138 в следующие системы счислений:

    • Двоичная
    • Восьмеричная
    • Десятичная
    • Шестнадцатеричная

    1.1 Десятичная

    Так как цифры записаны в десятичной, перевод с десятичной в десятичную пропустим 🙂

    1.1.1 Десятичная → Двоичная

    Как мы знаем двоичная система счисления используется практически во всех современных компьютерах и многих других вычислительных устройствах. Система очень проста – у нас есть только 0 и 1.
    Для преобразования числа с десятиной в двоичную форму нужно использовать деление по модулю 2 (т.е. целочисленное деление на 2) в результате чего мы всегда будем иметь в остатке либо 1, либо 0. При этом результат записываем справа налево. Пример все поставит на свои места:


    Рисунок 1.1 – Перевод чисел из десятичной в двоичную систему


    Рисунок 1.2 – Перевод чисел из десятичной в двоичную систему

    Опишу деление числа 98. Мы делим 98 на 2, в результате имеем 49 и остаток 0. Далее продолжаем деление и делим 49 на 2, в результате имеем 24 с остатком 1. И таким же образом добираемся до 1-ки или 0-ка в делимом. Затем результат записываем справа налево.

    1.1.2 Десятичная → Восьмеричная

    Восьмеричная система – это целочисленная система счисления с основанием 8. Т.е. все числа в ней представлены диапазоном 0 – 7 и для перевода с десятичной системы нужно использовать деление по модулю 8.


    Рисунок 1.3 – Перевод чисел из десятичной в восьмеричную систему

    Деление аналогично 2-чной системе.

    1.1.3 Десятичная → Шестнадцатеричная

    Шестнадцатеричная система почти полностью вытеснила восьмеричную систему. У нее основание 16, но используются десятичные цифры от 0 до 9 + латинские буквы от A(число 10) до F(число 15). С ней вы сталкиваетесь каждый раз, когда проверяете настройки сетевого адаптера — это МАС-адрес. Так же, когда используется IPv6.


    Рисунок 1.4 – Перевод чисел из десятичной в шестнадцатеричную систему

    1.2 Двоичная

    В предыдущем примере мы перевели все десятичные числа в другие системы счислений, одна из которых двоичная. Теперь переведем каждое число с двоичной формы.

    1.2.1 Двоичная → Десятичная

    Для перевода чисел с двоичной формы в десятичную нужно знать два нюанса. Первый – у каждого нолика и единички есть множитель 2 в n-й степени, при котором n увеличивается справа налево ровно на единичку. Второй – после перемножения все числа нужно сложить и мы получим число в десятичной форме. В итого у нас будет формула такого вида:

    D = (a n × p n-1) + (a n-1 × p n-2) + (a n-2 × p n-3) +…, (1.2.1)

    Где,
    D – это число в десятичной форме, которое мы ищем;
    n – количество символов в двоичном числе;
    a – число в двоичной форме на n-й позиции (т.е. первый символ, второй, и т.п.);
    p – коэффициент, равный 2,8 или 16 в степени n (в зависимости от системы счисления)

    К примеру возьмем число 110102. Смотрим на формулу и записываем:

    • Число состоит из 5 символов (n =5)
    • a 5 = 1, a 4 = 1, a 3 = 0, a 2 = 1, a 1 = 0

    • p = 2 (так как переводим из двоичной в десятичную)

    В итоге имеем:

    D = (1 × 2 5-1) + (1 × 2 5-2) + (0 × 2 5-3) + (1 × 2 5-4) + (0 × 2 5-5) = 16 + 8 + 0 + 2 + 0 = 26 10

    Кто привык записывать справа на лево, форму будет выглядеть так:

    D = (0 × 2 5-5) + (1 × 2 5-4) + (0 × 2 5-3) + (1 × 2 5-2) + (1 × 2 5-1) = 0 + 2 + 0 + 8 + 16 = 26 10

    Но, как мы знаем, от перестановки слагаемых сумма не меняется. Давайте теперь переведем наши числа в десятичную форму.


    Рисунок 1.5 – Перевод чисел из двоичной в десятичную систему

    1.2.2 Двоичная → Восьмеричная

    При переводе нам нужно двоичное число разбить на группы по три символа справа налево. Если последняя группа не состоит из трех символов, то мы просто возмещаем недостающие биты ноликами. К примеру:

    10101001 = 0 10 101 001

    1011100 = 00 1 011 100

    Каждая группа битов – это одно из восьмеричных чисел. Чтобы узнать какое, нужно использовать написанную выше формулу 1.2.1 для каждой группы битов. В результате мы получим.


    Рисунок 1.6 – Перевод чисел из двоичной в восьмеричную систему

    1.2.3 Двоичная → Шестнадцатеричная

    Здесь нам нужно двоичное число разбивать на группы по четыре символа справа налево с последующим дополнением недостающих битов группы ноликами, как писалось выше. Если последняя группа состоит из ноликов, то их нужно игнорировать.

    110101011 = 000 1 1010 1011

    1011100 = 0 101 1100

    001010000 = 00 0101 0000 = 0101 0000

    Каждая группа битов – это одно из шестнадцатеричных чисел. Используем формулу 1.2.1 для каждой группы битов.


    Рисунок 1.7 – Перевод чисел из двоичной в шестнадцатеричную систему

    1.3 Восьмеричная

    В этой системе у нас могут возникнуть сложности только при переводе в 16-ричную систему, так как остальной перевод проходит гладко.

    1.3.1 Восьмеричная → Двоичная

    Каждое число в восьмеричной системе – это группа из трех битов в двоичной системе, как писалось выше. Для перевода нам нужно воспользоваться табличкой-шпаргалкой:


    Рисунок 1.8 – Шпора по переводу чисел из восьмеричной системы

    Используя эту табличку переведем наши числа в двоичную систему.


    Рисунок 1.9 – Перевод чисел из восьмеричной в двоичную систему

    Немного опишу вывод. Первое число у нас 142, значит будет три группы по три бита в каждой. Юзаем шпору и видим, что цифра 1 это 001, цифра 4 это 100 и цифра 2 это 010. В результате имеем число 001100010.

    1.3.2 Восьмеричная → Десятичная

    Здесь мы используем формулу 1.2.1 только с коэффициентом 8 (т.е. p=8). В результате имеем


    Рисунок 1.10 – Перевод чисел из восьмеричной в десятеричную систему

    • Число состоит из 3 символов (n =3)
    • a 3 = 1, a 2 = 4, a 1 = 2

    • p = 8 (так как переводим из восьмеричной в десятичную)

    В результате имеем:

    D = (1 × 8 3-1) + (4 × 8 3-2) + (2 × 8 3-3) = 64 + 32 + 2 = 98 10

    1.3.3 Восьмеричная → Шестнадцатеричная

    Как писалось раньше, для перевода нам нужно сначала перевести числа в двоичную систему, потом с двоичной в шестнадцатеричную, поделив на группы по 4-ре бита. Можно использовать следующею шпору.


    Рисунок 1.11 – Шпора по переводу чисел из шестнадцатеричной системы

    Эта табличка поможет перевести из двоичной в шестнадцатеричную систему. Теперь переведем наши числа.


    Рисунок 1.12 – Перевод чисел из восьмеричной в шестнадцатеричную систему

    1.4 Шестнадцатеричная

    В этой системе та же проблема, при переводе в восьмеричную. Но об этом позже.

    1.4.1 Шестнадцатеричная → Двоичная

    Каждое число в шестнадцатеричной системе – это группа из четырех битов в двоичной системе, как писалось выше. Для перевода нам можно воспользоваться табличкой-шпаргалкой, которая находиться выше. В результате:


    Рисунок 1.13 – Перевод чисел из шестнадцатеричной в двоичную систему

    Возьмем первое число – 62. Используя табличку (рис. 1.11) мы видим, что 6 это 0110, 2 это 0010, в результате имеем число 01100010.

    1.4.2 Шестнадцатеричная → Десятичная

    Здесь мы используем формулу 1.2.1 только с коэффициентом 16 (т.е. p=16). В результате имеем


    Рисунок 1.14 – Перевод чисел из шестнадцатеричной в десятеричную систему

    Возьмем первое число. Исходя из формулы 1.2.1:

    • Число состоит из 2 символов (n =2)
    • a 2 = 6, a 1 = 2

    • p = 16 (так как переводим из шестнадцатеричной в десятичную)

    В результате имеем.

    D = (6 × 16 2-1) + (2 × 16 2-2) = 96 + 2 = 98 10

    1.4.3 Шестнадцатеричная → Восьмеричная

    Для перевода в восьмеричную систему нужно сначала перевести в двоичную, затем разбить на группы по 3-и бита и воспользоваться табличкой (рис. 1.8). В результате:


    Рисунок 1.15 – Перевод чисел из шестнадцатеричной в восьмеричную систему

    В пойдет речь о IP-адресах, масках и сетях.



    Просмотров