Skip to content

Учебник: программирование на Java

Бесплатное онлайн обучение программированию на языке Java

Menu
  • Учебник
  • Блог
  • Карта сайта
Menu

Приложение F. Системы счисления

Posted on 08.06.201710.07.2017 by Java 9

1. Введение

Двоичные числа

Внутри компьютеры используют двоичные числа, поскольку компьютеры так сделаны, что по своей природе они хранят и обрабатывают нули и единицы. Двоичная система счисления имеет два числа, 0 и 1. Число или символ хранятся как последовательности нулей и единиц. Каждый 0 или 1 называются битом (двоичной цифрой).

Десятичные числа

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

Шестнадцатеричные числа

Мы пишем компьютерные программы используя десятичные числа. Тем не менее, для работы с операционной системой нам нужно опуститься до «машинного уровня», используя двоичные цифры. Двоичные числа имеют тенденцию быть очень длинными и громоздкими. Часто для их сокращения используются шестнадцатеричные числа, причем каждая шестнадцатеричная цифра представляет четыре двоичных цифры. Шестнадцатеричная система счисления имеет 16 цифр: 0-9 и A-F. Буквы A, B, C, D, E и F соответствуют десятичным числам 10, 11, 12, 13, 14 и 15.

Цифрами десятичной системы являются 0, 1, 2, 3, 4, 5, 6, 7, 8 и 9. Десятичное число представлено последовательностью одной или нескольких из этих цифр. Значение, которое каждая цифра представляет, зависит от её положения, которая обозначает интегральную степень 10. Например, цифры 7, 4, 2 и 3 в десятичном числе 7423 представляют соответственно 7000, 400, 20 и 3, как показано ниже:

База, основание системы счисления

Система десятичных чисел имеет десять цифр, а значения позиции – интегральная степень 10. Мы говорим, что 10 является базой или основанием системы десятичных чисел. Аналогично, поскольку двоичная система счисления имеет две цифры, ее база равна 2, а так как система шестнадцатеричного числа имеет 16 цифр, ее база равна 16.

Если 1101 является двоичным числом, цифры 1, 1, 0 и 1 представляют 1 * 23, 1 * 22, 0 * 21 и 1 * 20 соответственно:

Если 7423 является шестнадцатеричным числом, цифры 7, 4, 2 и 3 представляют соответственно 7 * 163, 4 * 162, 2 * 161 и 3 * 160:

2. Конвертации между двоичными и десятичными числами

Двоичное в десятичное

Дано бинарное число bnbn - 1bn - 2 … b2b1b0, десятичным эквивалентом является

Вот несколько примеров преобразования двоичных чисел в десятичные числа:

Десятичное в двоичное

Для преобразования десятичного числа d в двоичное число необходимо нейти биты bn, bn - 1, bn - 2, …, b2, b1 и b0 такие что:

Эти биты могут быть найдены последовательным делением d на 2, пока частное не будет равно 0. Остатками являются b0, b1, b2, c , bn - 2, bn - 1 и bn.

Например, десятичное число 123 это 1111011 в двоичной системе счисления. Конвертация делается следующим образом:

Подсказка: в программе Windows Calculator вы можете перейти в режим PROGRAMMER, который позволяет выполнять преобразование чисел из одной системы счисления в другую. Для запуска программы, нажмите кнопку Win и начните набирать Calculator.

3. Конвертация между шестнадцатеричными и десятичными цифрами

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

Данному шестнадцатеричному числу hnhn - 1hn - 2 … h2h1h0 десятеричным эквивалентом является

Вот несколько примеров преобразования шестнадцатеричных чисел в десятичные числа:

Десятичное в шестнадцатеричное

Для конвертации десятичного числа d в шестнадцатеричное число нужно найти шестнадцатеричные цифры hn, hn - 1, hn - 2, … , h2, h1 и h0 таким образом:

Эти числа могут быть найдены последовательным делением d на 16 пока частное не равно 0. Остатками являются h0, h1, h2, … , hn - 2, hn - 1 и hn.

Например, десятичное число 123 в шестнадцатеричной системе счисления это 7B. Преобразование сделано следующим образом:

4. Конвертации между двоичными и шестнадцатеричными числами

Шестнадцатеричное в двоичное

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

Шестнадцатеричное Двоичное Десятичное
0 0000 0
1 0001 1
2 0010 2
3 0011 3
4 0100 4
5 0101 5
6 0110 6
7 0111 7
8 1000 8
9 1001 9
A 1010 10
B 1011 11
C 1100 12
D 1101 13
E 1110 14
F 1111 15

Например, шестнадцатеричное число 7B – это 1111011, где 7 это 111 в двоичной системе, а B – это 1011 в двоичной.

Двоичное в шестнадцатеричное

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

Например, двоичное число 1110001101 это шестнадцатеричное число 38D, поскольку 1101 это D, 1000 это 8, а 11 это 3, как показано ниже.

Обратите внимание, что если остаётся менее четырёх двоичных цифр, то они дополняются нулями, чтобы получилось четыре цифры и можно было найти соответствие в таблице.

Примечание: восьмеричные цифры также полезны. Восьмеричная система счисления имеет восемь цифр от 0 до 7. Десятичное число 8 представлено в восьмеричной системе как 10.

Проверь себя:

  1. Преобразуйте следующие десятичные цифры в шестнадцатеричные и двоичные числа: 100; 4340; 2000
  2. Конвертируйте следующие двоичные цифры в шестнадцатеричные и двоичные числа: 1000011001; 100000000; 100111
  3. Конвертируйте следующие шестнадцатеричные числа в двоичные и десятичные цифры: FEFA9; 93; 2000

Добавить комментарий Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *

wp-puzzle.com logo




Свежие записи

  • Как установить Java 10 (JDK 10, JRE 10) в Linux
  • Как установить Java 10 (JDK 10, JRE 10) в Windows
  • Почему в программах Java вместо круглых цифр появляются девятки (9999999999999)?
  • Как установить NetBeans 9 для разработки на JDK 9
  • Как установить Java 9 (JDK 9, JRE 9) в Windows

Свежие комментарии

  • м к записи Чтение ввода с консоли
  • Java 9 к записи Чтение ввода с консоли
  • Михаил к записи Чтение ввода с консоли
  • Михаил к записи Упражнения по программированию
  • Михаил к записи Упражнения по программированию

Архивы

  • Июнь 2018
  • Апрель 2018
  • Январь 2018
  • Декабрь 2017
  • Сентябрь 2017
  • Июль 2017
  • Июнь 2017
  • Май 2017




© 2023 Учебник: программирование на Java | Powered by Minimalist Blog WordPress Theme