В одном из наших материалов мы рассмотрели определение . Оно имеет самый короткий алфавит. Только две цифры: 0 и 1. Примеры алфавитов позиционных систем счисления приведены в таблице.
Позиционные системы счисления
Название системы |
Основание |
Алфавит |
Двоичная |
||
Троичная |
||
Четверичная |
||
Пятеричная |
||
Восьмеричная |
||
Десятичная |
0,1,2,3,4,5,6,7,8,9 |
|
Двенадцатеричная |
0,1,2,3,4,5,6,7,8,9,А,В |
|
Шестнадцатеричная |
0,1,2,3,4,5,6,7,8,9,А,В,С,D,E,F |
|
Тридцатишестиричная |
0,1,2,3,4,5,6,7,8,9,А,В,С,D,E,F,G, H,I,J,K,L,M,N,O,P,R,S,T,U,V,X,Y,Z |
Для перевода небольшого числа из десятичного в двоичное, и обратно, лучше пользоваться следующей таблицей.
Таблица перевода десятичных чисел от 0 до 20 в двоичную систему счисления.
десятичное число |
двоичное число |
десятичное число |
двоичное число |
Однако таблица получится огромной, если записать туда все числа. Искать среди них нужное число будет уже сложнее. Гораздо проще запомнить несколько алгоритмов перевода чисел из одной позиционной системы счисления в другую.
Как сделать перевод из одной системы счисления в другую? В информатике существует несколько простых способов перевода десятичных чисел в двоичные числа. Рассмотрим два из них.
Способ №1.
Допустим, требуется перевести число 637 десятичной системы в двоичную систему.
Делается это следующим образом: отыскивается максимальная степень двойки, чтобы два в этой степени было меньше или равно исходному числу.
В нашем случае это 9, т.к. 2 9 =512 , а 2 10 =1024 , что больше нашего начального числа. Таким образом, мы получили число разрядов результата. Оно равно 9+1=10. Значит, результат будет иметь вид 1ххххххххх, где вместо х может стоять 1 или 0.
Найдем вторую цифру результата. Возведем двойку в степень 9 и вычтем из исходного числа: 637-2 9 =125. Затем сравниваем с числом 2 8 =256 . Так как 125 меньше 256, то девятый разряд будет 0, т.е. результат уже примет вид 10хххххххх.
2 7 =128 > 125 , значит и восьмой разряд будет нулём.
2 6 =64 , то седьмой разряд равен 1. 125-64=61 Таким образом, мы получили четыре старших разряда и число примет вид 10011ххххх.
2 5 =32 и видим, что 32 < 61, значит шестой разряд равен 1 (результат 100111хххх), остаток 61-32=29.
2 4 =16 < 29 - пятый разряд 1 => 1001111ххх. Остаток 29-16=13.
2 3 =8 < 13 => 10011111хх. 13-8=5
2 2 =4 < 5 => 10011111хх, остаток 5-4=1.
2 1 =2 > 1 => 100111110х, остаток 2-1=1.
2 0 =1 => 1001111101.
Это и будет конечный результат.
Способ №2.
Правило перевода целых десятичных чисел в двоичную систему счисления, гласит:
- Разделим a n−1 a n−2 ...a 1 a 0 =a n−1 ⋅2 n−1 +a n−2 ⋅2 n−2 +...+a 0 ⋅2 0 на 2.
- Частное будет равно an−1 ⋅2n−2+...+a1 , а остаток будет равен
- Полученное частное опять разделим на 2, остаток от деления будет равен a1.
- Если продолжить этот процесс деления, то на n-м шаге получим набор цифр: a 0 ,a 1 ,a 2 ,...,a n−1 , которые входят в двоичное представление исходного числа и совпадают с остатками при его последовательном делении на 2.
- Таким образом, для перевода целого десятичного числа в двоичную систему счисления нужно последовательно выполнять деление данного числа и получаемых целых частных на 2 до тех пор, пока не получим частное, которое будет равно нулю.
Исходное число в двоичной системе счисления составляется последовательной записью полученных остатков. Записывать его начинаем с последнего найденного.
Переведём десятичное число 11 в двоичную систему счисления. Рассмотренную выше последовательность действий (алгоритм перевода) можно изобразить так:
Получили 11 10 =1011 2 .
Пример:
Если десятичное число достаточно большое, то более удобен следующий способ записи рассмотренного выше алгоритма:
363 10 =101101011 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 и больше 36 (10 цифр и 26 латинских букв всё-таки). Длина чисел не должна превышать 30 символов. Для ввода дробных чисел используйте символ. или, . Чтобы перевести число из одной системы в другую, введите исходное число в первое поле, основание исходной системы счисления во второе и основание системы счисления, в которую нужно перевести число, в третье поле, после чего нажмите кнопку "Получить запись".
Исходное число записано в 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 -ой системе счисления .
Хочу получить запись числа в 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 -ой системе счисления .
Получить запись
Выполнено переводов: 1237177
Системы счисления
Системы счисления делятся на два типа: позиционные и не позиционные . Мы пользуемся арабской системой, она является позиционной, а есть ещё римская − она как раз не позиционная. В позиционных системах положение цифры в числе однозначно определяет значение этого числа. Это легко понять, рассмотрев на примере какого-нибудь числа.
Пример 1 . Возьмём число 5921 в десятичной системе счисления. Пронумеруем число справа налево начиная с нуля:
Число 5921 можно записать в следующем виде: 5921 = 5000+900+20+1 = 5·10 3 +9·10 2 +2·10 1 +1·10 0 . Число 10 является характеристикой, определяющей систему счисления. В качестве степеней взяты значения позиции данного числа.
Пример 2 . Рассмотрим вещественное десятичное число 1234.567. Пронумеруем его начиная с нулевой позиции числа от десятичной точки влево и вправо:
Число 1234.567 можно записать в следующем виде: 1234.567 = 1000+200+30+4+0.5+0.06+0.007 = 1·10 3 +2·10 2 +3·10 1 +4·10 0 +5·10 -1 +6·10 -2 +7·10 -3 .
Перевод чисел из одной системы счисления в другую
Наиболее простым способом перевода числа с одной системы счисления в другую, является перевод числа сначала в десятичную систему счисления, а затем, полученного результата в требуемую систему счисления.
Перевод чисел из любой системы счисления в десятичную систему счисления
Для перевода числа из любой системы счисления в десятичную достаточно пронумеровать его разряды, начиная с нулевого (разряд слева от десятичной точки) аналогично примерам 1 или 2. Найдём сумму произведений цифр числа на основание системы счисления в степени позиции этой цифры:
1.
Перевести число 1001101.1101 2 в десятичную систему счисления.
Решение:
10011.1101 2 = 1·2 4 +0·2 3 +0·2 2 +1·2 1 +1·2 0 +1·2 -1 +1·2 -2 +0·2 -3 +1·2 -4 = 16+2+1+0.5+0.25+0.0625 = 19.8125 10
Ответ:
10011.1101 2 = 19.8125 10
2.
Перевести число E8F.2D 16 в десятичную систему счисления.
Решение:
E8F.2D 16 = 14·16 2 +8·16 1 +15·16 0 +2·16 -1 +13·16 -2 = 3584+128+15+0.125+0.05078125 = 3727.17578125 10
Ответ:
E8F.2D 16 = 3727.17578125 10
Перевод чисел из десятичной системы счисления в другую систему счисления
Для перевода чисел из десятичной системы счисления в другую систему счисления целую и дробную части числа нужно переводить отдельно.
Перевод целой части числа из десятичной системы счисления в другую систему счисления
Целая часть переводится из десятичной системы счисления в другую систему счисления с помощью последовательного деления целой части числа на основание системы счисления до получения целого остатка, меньшего основания системы счисления. Результатом перевода будет являться запись из остатков, начиная с последнего.
3.
Перевести число 273 10 в восьмиричную систему счисления.
Решение:
273 / 8 = 34 и остаток 1, 34 / 8 = 4 и остаток 2, 4 меньше 8, поэтому вычисления завершены. Запись из остатков будет иметь следующий вид: 421
Проверка
: 4·8 2 +2·8 1 +1·8 0 = 256+16+1 = 273 = 273 , результат совпал. Значит перевод выполнен правильно.
Ответ:
273 10 = 421 8
Рассмотрим перевод правильных десятичных дробей в различные системы счисления.
Перевод дробной части числа из десятичной системы счисления в другую систему счисления
Напомним, правильной десятичной дробью называется вещественное число с нулевой целой частью . Чтобы перевести такое число в систему счисления с основанием N нужно последовательно умножать число на N до тех пор, пока дробная часть не обнулится или же не будет получено требуемое количество разрядов. Если при умножении получается число с целой частью, отличное от нуля, то целая часть дальше не учитывается, так как последовательно заносится в результат.
4.
Перевести число 0.125 10 в двоичную систему счисления.
Решение:
0.125·2 = 0.25 (0 - целая часть, которая станет первой цифрой результата), 0.25·2 = 0.5 (0 - вторая цифра результата), 0.5·2 = 1.0 (1 - третья цифра результата, а так как дробная часть равна нулю, то перевод завершён).
Ответ:
0.125 10 = 0.001 2
Самой короткой системой счисления является двоичная. Она полностью основана на позиционной форме записи числа. Основной характеристикой считается принцип удвоения цифры при выполнении перехода от определённой позиции к последующей. Из одной системы счисления в другую можно осуществить перевод как при помощи специальной программы, так и вручную.
Вконтакте
Историческое признание
Появление двоичной СС в истории связано с учёным математиком В.Г. Лейбницем. Именно он впервые заговорил о правилах выполнения операций с числовыми значениями данного рода. Но первоначально этот принцип остался невостребованным . Мировое признание и применение алгоритм получил на заре возникновения вычислительных машин.
Удобство и несложность выполнения операций привели к необходимости более детального изучения данного подраздела арифметики, который стал незаменимым при развитии компьютерной технологии с программным обеспечением. Впервые такие механизмы появились на немецком и французском рынках.
Внимание! Конкретную точку над превосходством двоичной системы по отношению десятичной, именно в данной отрасли, было поставлено в 1946 году и обосновано в статье А. Бекса, Х. Гольдстайна и Дж.Фон Неймана.
Перевод числа из десятичной системы счисления в двоичную.
Особенности двоичной арифметики
Вся двоичная СС основана на применении только двух символов , которые очень точно совпадают с особенностями цифровой схемы. Каждый из символов отвечает за определённое действие, которое зачастую подразумевает два состояния:
- наличие отверстия или его отсутствие, к примеру, перфокарты или перфоленты;
- на магнитных носителях отвечает за состояние намагничивания или размагничивания;
- по уровню сигнала, высокий или низкий.
В науке, в которой применяется СС, введена определённая терминология, суть ее состоит в следующем:
- Бит – двоичный разряд , который состоит из двух составляющих, несущих в себе определённый смысл. Размещённый слева, определяется как старший и является приоритетным, а справа – младшим, являющийся менее весомым.
- Байт – это единица, которая состоит из восьми битов .
Многие модули воспринимают и обрабатывают информацию порциями или словами . Каждое слово имеет разный вес и может состоять из 8-ми, 16-ти или 32-х битов .
Правила переводов из одной системы в другую
Одним из важнейших факторов арифметики машин является перевод из одной СС в другую . Поэтому обратим внимание на основные алгоритмы выполнения процесса, который покажет, как перевести число в двоичную систему.
Переводим десятичную систему в двоичную
Первоначально обратимся к вопросу, как осуществить перевод системы из десятичной в двоичную систему счисления. Для этого существует правило перевода из десятичных чисел в двоичный код, которое подразумевает математические действия .
Необходимо число, записанное в десятичном виде разделить на 2 . Деление выполнять до тех пор, пока в частном не останется единица . Если необходима двоичная система счисления перевод осуществляется так:
186:2=93 (ост. 0)
93:2=46 (ост. 1)
46:2=23 (ост. 0)
23:2=11 (ост. 1)
11:2=5 (ост. 1)
5:2=2 (ост.1)
После того, как процесс деления закончен, то единицу в частном и все остатки записываем последовательно в обратном делению порядке . То есть, 18610=1111010. Правило перевода десятичных чисел в СС надо соблюдать всегда.
Перевод числа из десятичной системы в двоичную.
Перевод из десятичной СС в восьмеричную
Аналогичный процесс проводится при переводе из десятичной СС в восьмеричную. Его ещё называют «правилом замещения ». Если в предыдущем примере деление данных осуществлялось на 2, то здесь необходимо делить на 8. Алгоритм перевода числа X10 в восьмеричную состоит из следующих шагов:
- Число X10 начинают делить на 8. Полученное частное берём для следующего деления, а остаток записывается, как бит младшего порядка .
- Продолжаем деление до тех пор, пока не получим в результат частного равного нулю или остаток, который по своему значению меньше восьми . При этом все остатки записываем, как младшие порядки бита .
К примеру, необходимо перевести число 160110 в восьмеричное.
1601:8=200 (ост. 1)
200:8=25 (ост. 0)
25:8=3 (ост.1)
Итак, получим: 161010=31018.
Перевод из десятичной системы в восьмеричную.
Записываем десятичное число шестнадцатеричным
Перевод из десятичной в шестнадцатиричную СС осуществляется аналогично с использованием системы замещения. Но кроме цифр применяют ещё и буквы латинского алфавита A, B, C, D, E, F. Где A обозначает остаток 10, а F остаток 15. Десятичное число делят на 16. К примеру, переводим 10710 в шестнадцатеричную:
107:16=6 (ост. 11 – заменяем В)
6 – меньше, чем шестнадцать. Деление прекращаем и записываем 10710=6В16.
Переходим из другой системы в двоичную
Следующий вопрос, как преобразовать из восьмеричной в двоичную запись числа. Перевод чисел из любой системы в двоичную выполняется достаточно просто. Помощником в этом деле выступает таблица для систем счисления .
Перевод чисел из одной системы счисления в другую составляет важную часть машинной арифметики. Рассмотрим основные правила перевода.
1. Для перевода двоичного числа в десятичное необходимо его записать в виде многочлена, состоящего из произведений цифр числа и соответствующей степени числа 2, и вычислить по правилам десятичной арифметики:
При переводе удобно пользоваться таблицей степеней двойки:
Таблица 4. Степени числа 2
n (степень) |
|||||||||||
Пример.
2. Для перевода восьмеричного числа в десятичное необходимо его записать в виде многочлена, состоящего из произведений цифр числа и соответствующей степени числа 8, и вычислить по правилам десятичной арифметики:
При переводе удобно пользоваться таблицей степеней восьмерки:
Таблица 5. Степени числа 8
n (степень) |
|||||||
Пример. Число перевести в десятичную систему счисления.
3. Для перевода шестнадцатеричного числа в десятичное необходимо его записать в виде многочлена, состоящего из произведений цифр числа и соответствующей степени числа 16, и вычислить по правилам десятичной арифметики:
При переводе удобно пользоваться таблицей степеней числа 16:
Таблица 6. Степени числа 16
n (степень) |
|||||||
Пример. Число перевести в десятичную систему счисления.
4. Для перевода десятичного числа в двоичную систему его необходимо последовательно делить на 2 до тех пор, пока не останется остаток, меньший или равный 1. Число в двоичной системе записывается как последовательность последнего результата деления и остатков от деления в обратном порядке.
Пример. Число перевести в двоичную систему счисления.
5. Для перевода десятичного числа в восьмеричную систему его необходимо последовательно делить на 8 до тех пор, пока не останется остаток, меньший или равный 7. Число в восьмеричной системе записывается как последовательность цифр последнего результата деления и остатков от деления в обратном порядке.
Пример. Число перевести в восьмеричную систему счисления.
6. Для перевода десятичного числа в шестнадцатеричную систему его необходимо последовательно делить на 16 до тех пор, пока не останется остаток, меньший или равный 15. Число в шестнадцатеричной системе записывается как последовательность цифр последнего результата деления и остатков от деления в обратном порядке.
Пример. Число перевести в шестнадцатеричную систему счисления.