достаточно часто требуется уметь переводить число из одной системы счисления в другую. давайте научимся выполнять такое действие. преобразование целых чисел и правильных дробей выполняется по разным правилам. в действительном числе преобразование целой и дробной части производят по отдельности.
преобразование целых чисел
для перевода необходимо исходное число разделить на основание новой системы счисления до получения целого остатка, который является младшим разрядом числа в новой системе счисления (единицы). полученное частное снова делим на основание системы и так до тех пор, пока частное не станет меньше основания новой системы счисления. все операции выполняются в исходной системе счисления.
рассмотрим для примера перевод числа из десятичной системы счисления в двоичную систему счисления.
возьмём десятичное число а10 = 124 и поделим его на основание двоичной системы, то есть число 2. деление будем производить уголком:
в результате первого деления получим разряд единиц (самый младший разряд). в результате второго деления получим разряд двоек. деление продолжаем, пока результат деления больше двух. в конце операции преобразования мы получили двоичное число 002.
теперь то же самое число переведём в восьмеричную систему счисления. для этого число 12410 разделим на число 8:
как мы видим, остаток от первого деления равен 4. то есть младший разряд восьмеричного числа содержит цифру 4. остаток от второго деления равен 7. то есть второй разряд восьмеричного числа – это цифра 7. старший разряд получился равным 1. то есть в результате многократного деления мы получили восьмеричное число 1748.
проверим, не ошиблись ли мы в процессе преобразования? для этого преобразуем получившееся двоичное число в десятичную систему по обычной формуле разложения:
1×82+7×81+4×80=6410+5610+410=124
; а можно ли осуществить перевод из восьмеричной системы счисления в двоичную делением? можно! но деление нужно произвести по правилам восьмеричной арифметики. правила работы в восьмеричной системе счисления мы рассмотрим в следующей главе. тем не менее, для полноты материала, рассмотрим пример перевода в двоичную форму полученного ранее восьмеричного числа 1748. разделим его на основание новой системы счисления 2.
как мы убедились выполнять деление в восьмеричной системе неудобно, ведь подсознательно мы делим в десятичной системе счисления. давайте обратим внимание на то, что число 8 является степенью числа 2. то есть можно считать восьмеричную систему счисления просто более короткой записью двоичного числа. это означает, что для представления восьмеричной цифры можно использовать три двоичных бита (8=23). давайте составим таблицу соответствия. она в таблице 1.
таблица 1. таблица соответствия восьмеричных цифр и двоичного кода
двоичный код
восьмеричная цифра
десятичный эквивалент
000
0
0
001
1
1
010
2
2
011
3
3
100
4
4
101
5
5
110
6
6
111
7
7
используя эту таблицу можно просто заменить каждую восьмеричную цифру тремя двоичными битами. три двоичных бита обычно называют триадой или трибитом. теперь давайте переведём восьмеричное число 1748 в двоичную форму при таблицы 7:
аналогично можно выполнить перевод числа из двоичной системы в восьмеричную. для этого двоичное число разбивают на триады относительно крайнего правого разряда (или двоичной запятой) и, используя таблицу 7, каждой триаде ставят в соответствие восьмеричную цифру.
аналогичным образом можно выполнить перевод числа из шестнадцатеричной формы в двоичную и обратно. в этом случае для представления шестнадцатеричной цифры потребуется четыре двоичных разряда. четыре двоичных разряда обычно называют тетрадой. иногда при переводе иностранных книг используется термин нибл.
давайте составим таблицу соответствия двоичных тетрад и шестнадцатеричных цифр. для этого мы будем просто прибавлять единицу к значению предыдущей строки в каждом столбце таблицы, в соответствии с используемой в этом столбце системой счисления. результат в таблице 2.
в качестве примера использования таблицы 2 переведем шестнадцатеричное число 7с16 в двоичную форму представления:
таблица 2. таблица соответствия шестнадцатеричных цифр и двоичного кода
двоичный код
восьмеричная цифра
десятичный эквивалент
0
0
0001
1
1
0010
2
2
0011
3
3
0100
4
4
0101
5
5
0110
6
6
0111
7
7
1000
8
8
1001
9
9
1010
a
a
1011
b
b
1100
c
c
1101
d
d
1110
e
e
f
f
пример преобразования двоичного числа в восьмеричную и шестнадцатеричную форму на рисунке 1.
рисунок 1. пример преобразования двоичного числа в восьмеричную и шестнадцатеричную форму.
на этом рисунке внизу выделены двоичные тетрады и соответствующие им шестнадцатеричные цифры. их соответствие можно проверить при таблицы 2. сверху выделены триады и соответствующие им восьмеричные цифры. старшая триада получилась неполной. её нужно дополнить старшими незначащими нулями для того, чтобы можно было бы воспользоваться таблицей 1.
ответ:
объяснение:
достаточно часто требуется уметь переводить число из одной системы счисления в другую. давайте научимся выполнять такое действие. преобразование целых чисел и правильных дробей выполняется по разным правилам. в действительном числе преобразование целой и дробной части производят по отдельности.
преобразование целых чисел
для перевода необходимо исходное число разделить на основание новой системы счисления до получения целого остатка, который является младшим разрядом числа в новой системе счисления (единицы). полученное частное снова делим на основание системы и так до тех пор, пока частное не станет меньше основания новой системы счисления. все операции выполняются в исходной системе счисления.
рассмотрим для примера перевод числа из десятичной системы счисления в двоичную систему счисления.
возьмём десятичное число а10 = 124 и поделим его на основание двоичной системы, то есть число 2. деление будем производить уголком:
в результате первого деления получим разряд единиц (самый младший разряд). в результате второго деления получим разряд двоек. деление продолжаем, пока результат деления больше двух. в конце операции преобразования мы получили двоичное число 002.
теперь то же самое число переведём в восьмеричную систему счисления. для этого число 12410 разделим на число 8:
как мы видим, остаток от первого деления равен 4. то есть младший разряд восьмеричного числа содержит цифру 4. остаток от второго деления равен 7. то есть второй разряд восьмеричного числа – это цифра 7. старший разряд получился равным 1. то есть в результате многократного деления мы получили восьмеричное число 1748.
проверим, не ошиблись ли мы в процессе преобразования? для этого преобразуем получившееся двоичное число в десятичную систему по обычной формуле разложения:
1×82+7×81+4×80=6410+5610+410=124
; а можно ли осуществить перевод из восьмеричной системы счисления в двоичную делением? можно! но деление нужно произвести по правилам восьмеричной арифметики. правила работы в восьмеричной системе счисления мы рассмотрим в следующей главе. тем не менее, для полноты материала, рассмотрим пример перевода в двоичную форму полученного ранее восьмеричного числа 1748. разделим его на основание новой системы счисления 2.
как мы убедились выполнять деление в восьмеричной системе неудобно, ведь подсознательно мы делим в десятичной системе счисления. давайте обратим внимание на то, что число 8 является степенью числа 2. то есть можно считать восьмеричную систему счисления просто более короткой записью двоичного числа. это означает, что для представления восьмеричной цифры можно использовать три двоичных бита (8=23). давайте составим таблицу соответствия. она в таблице 1.
таблица 1. таблица соответствия восьмеричных цифр и двоичного кода
двоичный код
восьмеричная цифра
десятичный эквивалент
000
0
0
001
1
1
010
2
2
011
3
3
100
4
4
101
5
5
110
6
6
111
7
7
используя эту таблицу можно просто заменить каждую восьмеричную цифру тремя двоичными битами. три двоичных бита обычно называют триадой или трибитом. теперь давайте переведём восьмеричное число 1748 в двоичную форму при таблицы 7:
аналогично можно выполнить перевод числа из двоичной системы в восьмеричную. для этого двоичное число разбивают на триады относительно крайнего правого разряда (или двоичной запятой) и, используя таблицу 7, каждой триаде ставят в соответствие восьмеричную цифру.
аналогичным образом можно выполнить перевод числа из шестнадцатеричной формы в двоичную и обратно. в этом случае для представления шестнадцатеричной цифры потребуется четыре двоичных разряда. четыре двоичных разряда обычно называют тетрадой. иногда при переводе иностранных книг используется термин нибл.
давайте составим таблицу соответствия двоичных тетрад и шестнадцатеричных цифр. для этого мы будем просто прибавлять единицу к значению предыдущей строки в каждом столбце таблицы, в соответствии с используемой в этом столбце системой счисления. результат в таблице 2.
в качестве примера использования таблицы 2 переведем шестнадцатеричное число 7с16 в двоичную форму представления:
таблица 2. таблица соответствия шестнадцатеричных цифр и двоичного кода
двоичный код
восьмеричная цифра
десятичный эквивалент
0
0
0001
1
1
0010
2
2
0011
3
3
0100
4
4
0101
5
5
0110
6
6
0111
7
7
1000
8
8
1001
9
9
1010
a
a
1011
b
b
1100
c
c
1101
d
d
1110
e
e
f
f
пример преобразования двоичного числа в восьмеричную и шестнадцатеричную форму на рисунке 1.
рисунок 1. пример преобразования двоичного числа в восьмеричную и шестнадцатеричную форму.
на этом рисунке внизу выделены двоичные тетрады и соответствующие им шестнадцатеричные цифры. их соответствие можно проверить при таблицы 2. сверху выделены триады и соответствующие им восьмеричные цифры. старшая триада получилась неполной. её нужно дополнить старшими незначащими нулями для того, чтобы можно было бы воспользоваться таблицей 1.
#include <iostream>
#include <stdio.h>
#include <time.h>
void sort(int leng,int *arr){
for (int i =0;i < leng;++i){
for (int j = 0;j < leng - 1;++j){
if (arr[i] > arr[j]){
int tmp = arr[i];
arr[i] = arr[j];
arr[j] = tmp;
}
}
}
}
int main (){
setlocale(LC_ALL,"");
srand(time(NULL));
int A[10];
for (int i = 0;i < 10;++i){
A[i] = rand() % 10;//Рандомное число от 0...9
}
sort(10,A);//сортировка массива
//2 задание увы не успеваю сделать сейчас,если не забуду о вас то Удачи)))
system("pause");
return 0;
}