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


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

char* fromHEXtoBIN(long a, char *bin)

{

    long tmp = a;

    int N;

    if (a == 0)

        N = 1;

    else

    {

        N = 0;

        while (tmp != 0)

        {

            N++;

            tmp = tmp / 16;

        }

    }

    bin = (char*)malloc((4 * N + 1)*sizeof(char));

    for (int i = N - 1; i >= 0; i--)

    {

        switch (a % 16)

        {

            case 0:

            {

                bin[4 * i] = '0';

                bin[4 * i + 1] = '0';

                bin[4 * i + 2] = '0';

                bin[4 * i + 3] = '0';

                break;

            }

            case 1:

            {

                bin[4 * i] = '0';

                bin[4 * i + 1] = '0';

                bin[4 * i + 2] = '0';

                bin[4 * i + 3] = '1';

                break;

            }

            case 2:

            {

                bin[4 * i] = '0';

                bin[4 * i + 1] = '0';

                bin[4 * i + 2] = '1';

                bin[4 * i + 3] = '0';

                break;

            }

            case 3:

            {

                bin[4 * i] = '0';

                bin[4 * i + 1] = '0';

                bin[4 * i + 2] = '1';

                bin[4 * i + 3] = '1';

                break;

            }

            case 4:

            {

                bin[4 * i] = '0';

                bin[4 * i + 1] = '1';

                bin[4 * i + 2] = '0';

                bin[4 * i + 3] = '0';

                break;

            }

            case 5:

            {

                bin[4 * i] = '0';

                bin[4 * i + 1] = '1';

                bin[4 * i + 2] = '0';

                bin[4 * i + 3] = '1';

                break;

            }

            case 6:

            {

                bin[4 * i] = '0';

                bin[4 * i + 1] = '1';

                bin[4 * i + 2] = '1';

                bin[4 * i + 3] = '0';

                break;

            }

            case 7:

            {

                bin[4 * i] = '0';

                bin[4 * i + 1] = '1';

                bin[4 * i + 2] = '1';

                bin[4 * i + 3] = '1';

                break;

            }

            case 8:

            {

                bin[4 * i] = '1';

                bin[4 * i + 1] = '0';

                bin[4 * i + 2] = '0';

                bin[4 * i + 3] = '0';

                break;

            }

            case 9:

            {

                bin[4 * i] = '1';

                bin[4 * i + 1] = '0';

                bin[4 * i + 2] = '0';

                bin[4 * i + 3] = '1';

                break;

            }

            case 10:

            {

                bin[4 * i] = '1';

                bin[4 * i + 1] = '0';

                bin[4 * i + 2] = '1';

                bin[4 * i + 3] = '0';

                break;

            }

            case 11:

            {

                bin[4 * i] = '1';

                bin[4 * i + 1] = '0';

                bin[4 * i + 2] = '1';

                bin[4 * i + 3] = '1';

                break;

            }

            case 12:

            {

                bin[4 * i] = '1';

                bin[4 * i + 1] = '1';

                bin[4 * i + 2] = '0';

                bin[4 * i + 3] = '0';

                break;

            }

            case 13:

            {

                bin[4 * i] = '1';

                bin[4 * i + 1] = '1';

                bin[4 * i + 2] = '0';

                bin[4 * i + 3] = '1';

                break;

            }

            case 14:

            {

                bin[4 * i] = '1';

                bin[4 * i + 1] = '1';

                bin[4 * i + 2] = '1';

                bin[4 * i + 3] = '0';

                break;

            }

            case 15:

            {

                bin[4 * i] = '1';

                bin[4 * i + 1] = '1';

                bin[4 * i + 2] = '1';

                bin[4 * i + 3] = '1';

                break;

            }

        }

        a = a / 16;

    }

    bin[4 * N] = '\0';

    return bin;

}

vscode.ru

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

 

 Результат уже получен!

Системы счисления

Существуют позиционные и не позиционные системы счисления. Арабская система счисления, которым мы пользуемся в повседневной жизни, является позиционной, а римская − нет. В позиционных системах счисления позиция числа однозначно определяет величину числа. Рассмотрим это на примере числа 6372 в десятичном системе счисления. Пронумеруем это число справа налево начиная с нуля:

число
6 3 7 2
позиция 3 2 1 0

Тогда число 6372 можно представить в следующем виде:

6372=6000+300+70+2 =6·103+3·102+7·101+2·100.

Число 10 определяет систему счисления (в данном случае это 10). В качестве степеней взяты значения позиции данного числа.

Рассмотрим вещественное десятичное число 1287.923. Пронумеруем его начиная с нуля позиции числа от десятичной точки влево и вправо:

число 1 2 8 7 . 9 2 3
позиция 3 2 1 0   -1 -2 -3

Тогда число 1287.923 можно представить в виде:

1287.923 =1000+200+80 +7+0.9+0.02+0.003 = 1·103 +2·102 +8·101+7·100+9·10-1+2·10-2+3·10-3.

В общем случае формулу можно представить в следующем виде:

Цn·sn+Цn-1·sn-1+...+Ц1·s1+Ц0·s0+Д-1·s-1+Д-2·s-2+...+Д-k·s-k

(1)

где Цn-целое число в позиции n, Д-k- дробное число в позиции (-k), s - система счисления.

Несколько слов о системах счисления.Число в десятичной системе счисления состоит из множества цифр {0,1,2,3,4,5,6,7,8,9}, в восьмеричной системе счисления - из множества цифр {0,1,2,3,4,5,6,7}, в двоичной системе счисления - из множества цифр {0,1}, в шестнадцатеричной системе счисления - из множества цифр {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}, где A,B,C,D,E,F соответствуют числам 10,11,12,13,14,15.

В таблице Таб.1 представлены числа в разных системах счисления.

Таблица 1
Система счисления
10 2 8 16
0 0 0 0
1 1 1 1
2 10 2 2
3 11 3 3
4 100 4 4
5 101 5 5
6 110 6 6
7 111 7 7
8 1000 10 8
9 1001 11 9
10 1010 12 A
11 1011 13 B
12 1100 14 C
13 1101 15 D
14 1110 16 E
15 1111 17 F

 

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

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

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

С помощью формулы (1) можно перевести числа из любой системы счисления в десятичную систему счисления.

Пример 1. Переводить число 1011101.001 из двоичной системы счисления (СС) в десятичную СС. Решение:

1·26+0·25+1·24+1·23+1·22 +0·21+1·20+0·2-1+0·2-2+1·2-3 =64+16+8+4+1+1/8=93.125

Пример 2. Переводить число 1011101.001 из восьмеричной системы счисления (СС) в десятичную СС. Решение:

Пример 3. Переводить число AB572.CDF из шестнадцатеричной системы счисления в десятичную СС. Решение:

Здесь A -заменен на 10, B - на 11, C- на 12, F - на 15.

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

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

Целую часть числа переводится из десятичной СС в другую систему счисления - последовательным делением целой части числа на основание системы счисления (для двоичной СС - на 2, для 8-ичной СС - на 8, для 16-ичной - на 16 и т.д.) до получения целого остатка, меньше, чем основание СС.

Пример 4. Переведем число 159 из десятичной СС в двоичную СС:

159 2            
158 79 2          
1 78 39 2        
  1 38 19 2      
    1 18 9 2    
      1 8 4 2  
        1 4 2 2
          0 2 1
            0  

Рис. 1

Как видно из Рис. 1, число 159 при делении на 2 дает частное 79 и остаток 1. Далее число 79 при делении на 2 дает частное 39 и остаток 1 и т.д. В результате построив число из остатков деления (справа налево) получим число в двоичной СС: 10011111. Следовательно можно записать:

15910=100111112.

Пример 5. Переведем число 615 из десятичной СС в восьмеричную СС.

615 8    
608 76 8  
7 72 9 8
  4 8 1
    1  

Рис. 2

При приведении числа из десятичной СС в восьмеричную СС, нужно последовательно делить число на 8, пока не получится целый остаток меньшее, чем 8. В результате построив число из остатков деления (справа налево) получим число в восьмеричной СС: 1147(см. Рис. 2). Следовательно можно записать:

61510=11478.

Пример 6. Переведем число 19673 из десятичной системы счисления в шестнадцатеричную СС.

19673 16    
19664 1229 16  
9 1216 76 16
  13 64 4
    12  

Рис. 3

Как видно из рисунка Рис.3, последовательным делением числа 19673 на 16 получили остатки 4, 12, 13, 9. В шестнадцатеричной системе счисления числе 12 соответствует С, числе 13 - D. Следовательно наше шестнадцатеричное число - это 4CD9.

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

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

Рассмотрим вышеизложенное на примерах.

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

    0.214
  x 2
0   0.428
  x 2
0   0.856
  x 2
1   0.712
  x 2
1   0.424
  x 2
0   0.848
  x 2
1   0.696
  x 2
1   0.392

Рис. 4

Как видно из Рис.4, число 0.214 последовательно умножается на 2. Если в результате умножения получится число с целой частью, отличное от нуля, то целая часть записывается отдельно (слева от числа), а число записывается с нулевой целой частью. Если же при умножении получиться число с нулевой целой частью, то слева от нее записывается нуль. Процесс умножения продолжается до тех пор, пока в дробной части не получится чистый нуль или же не получим требуемое количество разрядов. Записывая жирные числа (Рис.4) сверху вниз получим требуемое число в двоичной системе счисления: 0.0011011.

Следовательно можно записать:

0.21410=0.00110112.

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

    0.125
  x 2
0   0.25
  x 2
0   0.5
  x 2
1   0.0

Рис. 5

Для приведения числа 0.125 из десятичной СС в двоичную, данное число последовательно умножается на 2. В третьем этапе получилось 0. Следовательно, получился следующий результат:

0.12510=0.0012.

Пример 9. Переведем число 0.214 из десятичной системы счисления в шестнадцатеричную СС.

    0.214
  x 16
3   0.424
  x 16
6   0.784
  x 16
12   0.544
  x 16
8   0.704
  x 16
11   0.264
  x 16
4   0.224

Рис. 6

Следуя примерам 4 и 5 получаем числа 3, 6, 12, 8, 11, 4. Но в шестнадцатеричной СС числам 12 и 11 соответствуют числа C и B. Следовательно имеем:

0.21410=0.36C8B416.

Пример 10. Переведем число 0.512 из десятичной системы счисления в восьмеричную СС.

    0.512
  x 8
4   0.096
  x 8
0   0.768
  x 8
6   0.144
  x 8
1   0.152
  x 8
1   0.216
  x 8
1   0.728

Рис. 7

Получили:

0.51210=0.4061118.

Пример 11. Переведем число 159.125 из десятичной системы счисления в двоичную СС. Для этого переведем отдельно целую часть числа (Пример 4) и дробную часть числа (Пример 8). Далее объединяя эти результаты получим:

159.12510=10011111.0012.

Пример 12. Переведем число 19673.214 из десятичной системы счисления в шестнадцатеричную СС. Для этого переведем отдельно целую часть числа (Пример 6) и дробную часть числа (Пример 9). Далее объединяя эти результаты получим:

19673.21410=4CD9.36C8B416.

matworld.ru

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

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

Переведем таким способом двоичное число 1010012в восьмеричное:

101 0012 => 1•22+0•21+1•200•22+0•21+1•20 => 518.

Для упрощения перевода можно заранее подготовить таблицу преобразования двоичных триад (групп по 3 цифры) в восьмеричные цифры.

Двоичные триады

000

001

010

011

100

101

110

111

Восьмиричные цифры

0

1

2

3

4

5

6

7

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

Для перевода целого двоичного числа в шестнадцатеричноеего нужно разбить на группы по четыре цифры (тетрады), начиная справа, и, если в последней левой группе окажется меньше разрядов, дополнить ее слева нулями. Для переводадробного двоичного числа в шестнадцатеричноенеобходимо разбить его на тетрады слева направо и, если в последней правой группе окажется меньше, чем четыре разряда, то необходимо ее дополнить справа нулями. Процедура перевода такая же, как и для восьмеричной системы, только каждая шестнадцатеричная цифра представляется 4-мя двоичными, например: 1 – 0001; 3 – 0011; 9 – 1001; A – 1010; D – 1101; F – 1111

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

Арифметические операции в позиционных системах счисления

Арифметические операции во всех позиционных системах счисления выполняются по одним и тем же хорошо известным вам правилам.

Сложение

Рассмотрим сложение чисел в двоичной системе счисления. В его основе лежит таблица сложения одноразрядных двоичных чисел:

0 + 0 =   00 + 1 =   01 + 0 =   11 + 1 = 10

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

Проверим правильность вычислений сложением в десятичной системе счисления. Переведем двоичные числа в десятичную систему счисления и затем их сложим. 1102 = 1•22 + 1•21 + 0•20 = 610112 = 1•21 + 1•20 = 310610 + 310 = 910

Теперь переведем результат двоичного сложения в десятичное число. 10012 = 1•23 + 0•22 + 0•21 + 1•20 = 910

Сравним результаты, сложение выполнено правильно.

studfiles.net

Как перевести из двоичного года в шестнадцатиричную систему счисления???

В результате B3A6 Как это делается? 1) Делим число на группы цифр по 4: 1101 0011 1010 0110 2) Для каждой группы высчитываем.. . Справа налево. Множим первую цифру справа на 1, вторую на 2, третью на 4, и четвёртую на 8 Первая группа (0110): 0*1 + 1*2 + 1*4 + 0*8=6 Вторая группа (1010): 0*1 + 1*2 + 0*4 + 0*8 = 10. Десять в 16-ричной системе обозначается буквой A Третья группа (0011): 1*1 + 1*2 + 0*4 + 0*8 = 3 Четвёртая группа (1101): 1*1 + 0*2 + 1*4 + 1*8 = 13. Тринадцать в 16-ричной системе обозначается буквой B 3) Теперь просто все их записываем.. . B3A6

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

запускаешь стандартный калькулятор виндовс щелкаешь вид--> инженерный вид--> шестнадцатеричный (hex) число в двоичной системе не стирая число переходи в режим hex(для шестнадцатеричной системы) появится тоже число но в шестнадцатеричной системе аналогично и с другими системами

touch.otvet.mail.ru

Как перевести из шестнадцатиричной системы счисления в восьмеричную?

Доброго времени суток. Ну а как нет под рукой этого инженерного вида? И компа нет? Здесь все просто. Достаточно знать, что в двоичной системе 0 + 0 = 0, 0 + 1 = 1 и 1 + 1 = 10 (имеет место перенос в старший разряд) и можно построить любую двоичную таблицу. Далее, надо знать, что до 9 числа в десятичной и шестнадцатиричной системах совпадают, а дальше в шестнадцатирмчной идут A, B, C, D, E и F. Все. Сам перевод выполняется еще легче и чисто механически. Не надо ничего множить, делить. Для 16 -> 8 число расписывается по тетрадам, а затем читается по триадам. Для 8->16, наоборот, сначала расписывается по триадам, а читается по тетрадам. Переход тетрада - триада выполняется справа на лево. AD34(16) -> 1010 1101 0011 0100 -> 1 010 110 100 110 100 -> 126464(8) Удачи!

Сначала процессом умножения переведи в десятичную 1 в 8-ичной= 1*8 11=1*8*8+ 1*8=72 А потом процессом деления в 16-ичную

<a rel="nofollow" href="http://en.wikipedia.org/wiki/Octal#Octal_.E2.80.93_Hexadecimal_conversion" target="_blank">http://en.wikipedia.org/wiki/Octal#Octal_.E2.80.93_Hexadecimal_conversion</a> Таблица перевода чисел 0hex = 0dec = 0oct 0 0 0 0 1hex = 1dec = 1oct 0 0 0 1 2hex = 2dec = 2oct 0 0 1 0 3hex = 3dec = 3oct 0 0 1 1 4hex = 4dec = 4oct 0 1 0 0 5hex = 5dec = 5oct 0 1 0 1 6hex = 6dec = 6oct 0 1 1 0 7hex = 7dec = 7oct 0 1 1 1 8hex = 8dec = 10oct 1 0 0 0 9hex = 9dec = 11oct 1 0 0 1 Ahex = 10dec = 12oct 1 0 1 0 Bhex = 11dec = 13oct 1 0 1 1 Chex = 12dec = 14oct 1 1 0 0 Dhex = 13dec = 15oct 1 1 0 1 Ehex = 14dec = 16oct 1 1 1 0 Fhex = 15dec = 17oct 1 1 1 1

1. методы уже дали. 2. используй CALC.exe - вид - Инженерный :)

touch.otvet.mail.ru