Перевести число 103582791468900501 из 64-ой системы в шестнадцатеричную

Задача: перевести число 103582791468900501 из 64-ой в шестнадцатеричную систему счисления.

Для перевода 103582791468900501 из 64-ой в шестнадцатеричную систему счисления, воспользуемся следующим алгоритмом:

  1. Переведем число 103582791468900501 из 64-ой системы в десятичную;
  2. Полученное число переведём из десятичной системы в шестнадцатеричную;

Решение:

1. Для перевода числа 103582791468900501 в десятичную систему воспользуемся формулой:

An = an-1 ∙ qn-1 + an-2 ∙ qn-2 + ∙∙∙ + a0 ∙ q0

Отсюда:

10358279146890050164=1 ∙ 6417 + 0 ∙ 6416 + 3 ∙ 6415 + 5 ∙ 6414 + 8 ∙ 6413 + 2 ∙ 6412 + 7 ∙ 6411 + 9 ∙ 6410 + 1 ∙ 649 + 4 ∙ 648 + 6 ∙ 647 + 8 ∙ 646 + 9 ∙ 645 + 0 ∙ 644 + 0 ∙ 643 + 5 ∙ 642 + 0 ∙ 641 + 1 ∙ 640 = 1 ∙ 5.0706024009129E+30 + 0 ∙ 7.9228162514264E+28 + 3 ∙ 1.2379400392854E+27 + 5 ∙ 1.9342813113834E+25 + 8 ∙ 3.0223145490366E+23 + 2 ∙ 4.7223664828696E+21 + 7 ∙ 7.3786976294838E+19 + 9 ∙ 1152921504606846976 + 1 ∙ 18014398509481984 + 4 ∙ 281474976710656 + 6 ∙ 4398046511104 + 8 ∙ 68719476736 + 9 ∙ 1073741824 + 0 ∙ 16777216 + 0 ∙ 262144 + 5 ∙ 4096 + 0 ∙ 64 + 1 ∙ 1 = 5.0706024009129E+30 + 0 + 3.7138201178561E+27 + 9.671406556917E+25 + 2.4178516392293E+24 + 9.4447329657393E+21 + 5.1650883406387E+20 + 1.0376293541462E+19 + 18014398509481984 + 1125899906842624 + 26388279066624 + 549755813888 + 9663676416 + 0 + 0 + 20480 + 0 + 1 = 5.0744153629196E+3010

Таким образом:

10358279146890050164 = 5.0744153629196E+3010

2. Полученное число 5.0744153629196E+30 переведем из десятичной системы счисления в шестнадцатеричную. Т.к. полученное число содержит дробную часть, нам потребуется перевести вначале целую часть, а затем дробную. Таким образом необходимо:

  1. Перевести -8051310233831604224 в шестнадцатеричную систему;
  2. Перевести 0.0744153629196E+30 в шестнадцатеричную систему;

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

-8051310233831604224

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

-805131023383160422410=-805131023383160422416

2.2 Для перевода десятичной дроби 0.0744153629196E+30 в шестнадцатеричную систему, необходимо выполнить последовательное умножение дроби на 16, до тех пор, пока дробная часть не станет равной 0 или пока не будет достигнута заданная точность вычисления. Получаем:

0.0744153629196E+30 ∙ 16 = 1.1906458067136E+30 ()
0.1906458067136E+30 ∙ 16 = 3.0503329074176E+30 ()
0.0503329074176E+30 ∙ 16 = 8.053265186816E+29 ()
0.053265186816E+29 ∙ 16 = 8.52242989056E+28 ()
0.52242989056E+28 ∙ 16 = 8.35887824896E+28 ()
0.35887824896E+28 ∙ 16 = 5.74205198336E+28 ()
0.74205198336E+28 ∙ 16 = 1.187283173376E+29 ()
0.187283173376E+29 ∙ 16 = 2.996530774016E+29 ()
0.996530774016E+29 ∙ 16 = 1.5944492384256E+30 ()
0.5944492384256E+30 ∙ 16 = 9.5111878148096E+30 ()
0.5111878148096E+30 ∙ 16 = 8.1790050369536E+30 ()

Ответом станет прямая последовательность целых частей произведения. Т.е.

0.0744153629196E+3010=0.16

2.3. Осталось соединить переведенные части, таким образом:

5.0744153629196E+3010=-8051310233831604224.16

Ответ: 10358279146890050164 = -8051310233831604224.16.

Смотрите также:

  • Смотрите также
  • Калькуляторы
  • Последние переводы
  • Какое число еще хотите перевести?

    * Все поля обязательны
  • Дробное число вводите через точку
  • Введите от 2 до 16
  • Введите от 2 до 16
Подписаться
Уведомить о
guest
0 Комментарий
Межтекстовые Отзывы
Посмотреть все комментарии
Adblock
detector