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


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

В повседневной жизни мы используем счёт, основанный на десятичной системе счисления. Что это значит? Это значит, что все числа, которыми мы пользуемся, отображаются с помощью всего лишь 10 символов или цифр. Они знакомы нам с детства: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Например, запись числа «девятьсот шестьдесят восемь» состоит из символов, входящих в указанный набор: 968. Так можно отобразить любое число.

Но есть и другие системы счисления. Например, двоичная. Здесь для записи любого числа используется набор всего из двух символов-цифр: 0 и 1. Чтобы записать в этой системе десятичное число 13, понадобятся четыре цифры: 1101. Указанный фокус можно проделать с любым десятичным числом, записав его в виде последовательности символов, входящих в определённый набор. Этот набор является своего рода алфавитом, из букв которого строятся слова-числа.

Свод правил, по которым можно производить те или иные действия с числами, записанными с использованием символов из такого алфавита (сложение, вычитание, умножение, деление и т. д. ), и называют системой счисления (с. с.). А количество всех символов, входящих в набор-алфавит, называют основанием с. с. При записи числа в такой системе место, на котором находится каждая цифра в нём, будет её разрядом. Разряды же нумеруются справа налево от 0 и до бесконечности.

Какие бывают системы счисления

На самом деле, существует бесчисленное множество с. с. Например, количество позиционных с. с., к которым относятся системы с натуральным основанием, бесконечно. Потому что, каким бы огромным числом ни было основание, всегда можно выразить любое число в данной системе счисления. Главное, чтобы хватило символов для его записи. Например, для записи чисел в системе счисления с основанием 666 понадобится алфавит, включающий в себя ровно 666 символов-букв или, если хотите, цифр.

Таким образом, теоретически можно использовать позиционные с. с. с любым натуральным основанием. Но на практике мы используем лишь небольшое их количество. К ним относятся: двоичная, троичная, восьмеричная, десятичная, двенадцатеричная, шестнадцатеричная и шестидесятеричная с. с.

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

Кроме упомянутых, есть и другие системы, не относящиеся к позиционным. Это смешанные и непозиционные с. с., которые мы здесь рассматривать не будем.

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

Итак, как уже было упомянуто, любое число в позиционной системе с основанием N можно представить последовательностью символов из набора, состоящего из N цифр и букв. В шестнадцатеричной системе таким набором будут цифры от 0 до 9 и латинские буквы A, B, C, D, E, F, ​итого — 16 символов.

Чтобы сделать перевод из десятичной в шестнадцатеричную систему, вовсе не понадобится калькулятор, если вы хотите научиться делать это сами, вручную. Итак, запаситесь терпением и… вперёд!

Возьмём любое число X, записанное в десятичной с. с., целая часть которого [X] равна P, а дробная часть {X} равна Q. Если X<0, то знак «минус» вначале нужно отбросить, а в конце снова приписать, во избежание путаницы. Далее, следуя алгоритмам 1 и 2, вы получите из Х шестнадцатеричный вид.

Алгоритм 1

Перевод целого десятичного числа в шестнадцатеричное

  1. Разделите P на 16. У вас получатся: частное P0, как результат деления, и остаток от деления R0.
  2. Если P0≠0, то разделите P0 на 16. У вас получится частное P1 и остаток R1. Если P0=0, то переходите к пункту 4.
  3. Продолжайте производить деление, как в пунктах 1 и 2. У вас будут получаться пары чисел (Pi, Ri), где i=0, 1, 2,…, k.
  4. Если частное от деления станет равным нулю, то процесс деления прекращается. Все полученные остатки Ri запишите в последовательности, начиная с последнего. У вас получится ряд Rk,…, R2, R1, R0. Если среди остатков Ri есть числа, большие 9, то для их обозначения используйте буквы латинского алфавита: 10 — А, 11 — В, 12 — С, 13 — D, 14 — E, 15 — F. Полученная последовательность Rk…R2 R1 R0 будет шестнадцатеричной формой записи десятичного числа Р, что записывается так: Р (10)=Rk…R2 R1 R0 (16).

Алгоритм 2

Перевод дробного десятичного числа в шестнадцатеричное

  1. Умножьте Q<1 на 16. В полученном результате выделите целую S1 и дробную Q1 части.
  2. Если Q1≠0, то умножьте Q1 на 16. В полученном результате снова выделите целую S2 и дробную Q2 части. Если Q1=0, то перейдите к пункту 4.
  3. Продолжайте производить умножение, как в пунктах 1 и 2. У вас получатся пары чисел (Qj, Sj), где j=1, 2, 3,…, n.
  4. Если дробная часть результата умножения станет равной нулю, то процесс умножения прекращается. Все полученные числа Sj запишите в последовательности, начиная с первого. У вас получится ряд S1, S2, S3,…, Sn. Если среди Sj есть числа, большие 9, то для их обозначения используйте латинские буквы: 10 — А, 11 — В, 12 — С, 13 — D, 14 — E, 15 — F. Полученная последовательность S1 S2 S3… Sn будет 16-ичной формой записи 10-ичного числа Q, что записывается так: Q (10)=S1 S2 S3… Sn (16).

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

Согласно одной алгебраической теореме, любое число Y, записанное в N-ичной с. с., можно представить в виде:

Y (N)=Rk•N^k+…Ri•N^i+…+R3•N 3 +R2•N 2 +R1•N 1 +R0•N 0 +S1•N^(-1)+S2•N^(-2)+S3•N^(-3)+…+Sj•N^(-j)+…+Sn•N^(-n) =Rk…Ri…R2 R1 R0, S1 S2 S3… Sj… Sn=X (10).

В этом выражении коэффициенты N^i (i=0…k) и N^(-j) (j=1…n) называются весовыми коэффициентами разрядов, Riи Sj — цифрами N-ичного числа, i — номером разряда в целой части R, (-j) — номером разряда в дробной части S N-ичного числа Y (R=[Y], S={Y}).

Справа в этом выражении стоит результат сложения всех весовых коэффициентов, умноженных на цифры соответствующих разрядов N-ричного числа Y, который представлен в виде 10-ичного числа Х.

Пользуясь этой теоремой, мы легко сможем переводить шестнадцатеричные числа в десятичные. Для этого нужно просто в приведённую выше формулу подставить N=16. В результате получим следующий алгоритм.

Алгоритм 3

Способ перевода из 16-ричной системы в 10-ичную

  1. Пусть задано 16-ричное число Y (16), имеющее в целой части k+1 цифр, а в дробной — n цифр. Номера разрядов в целой части принимают значения от 0 до k. Умножьте каждую его цифру, начиная с первой перед запятой, на 16 в степени, равной номеру разряда этой цифры. Полученные произведения сложите. Результатом будет целая часть Y в десятичном виде — P=[X].
  2. Умножьте теперь каждую цифру числа Y (16), начиная с первой цифры, стоящей после запятой, на 16 в степени, равной отрицательному номеру разряда этой цифры. Номера разрядов в дробной части идут от -1 до -n. Полученные произведения сложите. Результатом будет дробная часть Y в десятичном виде — Q={X}.
  3. Сложите целую и дробную части Y в десятичном виде. Вы получите результат — десятичное число X (10)=Y (16).

Примеры

1. Перевести 1237 (10) в систему с основанием 16.

Решение. Последовательно деля 1237 на 16, мы получим следующие остатки: 5, 13 и 4 (см. алгоритм 1). Чтобы записать 1237 (10) в 16-ричной форме, запишем указанные остатки в обратном порядке, заменив 13 на букву D. Получим: 1237 (10)=4D5 (16). Чтобы убедиться в правильности перевода, произведём проверку (см. алгоритм 3): 4D5 (16)=4•16²+13•16¹+5=1024+208+5=1237 (10).

2. Перевести 0,07080078125 (10) в 16-ричный вид.

Решение. Последовательно умножая 0,07080078125 на 16, отбрасывая целые части получаемых произведений, получим следующий ряд: 1, 2, 2 (см. алгоритм 2). Чтобы записать 0,07080078125 (10) в шестнвдцатиричной форме, запишем указанные цифры в прямом порядке. Получим: 0,07080078125 (10)=0,122 (16). Чтобы убедиться в правильности перевода, сделаем проверку (см. алгоритм 3): 0,122 (16)=1•(1/16¹)+2•(1/16²)+2•(1/16³)=0,0625+0,0078125+0,00048828125= 0,07080078125 (10).

Видео

Из видео вы узнаете, как правильно перевести из шестнадцатеричной системы в двоичную.

liveposts.ru

Шестнадцатеричные цифры, преобразование шестнадцатеричного числа в десятичное

Умение преобразовывать шестнадцатеричные числа может быть полезно не только программистам, но и дизайнерам, ведь триада RRGGBB есть не что иное, как «машинные» компоненты для красного, зелёного и синего соответственно — от 0 до 255 каждое. Конечно, графические редакторы содержат палитры со встроенными преобразователями, а стандартный калькулятор операционной системы умеет справляться с этой задачей, но порой гораздо удобнее самому «накинуть +14» к требуемой компоненте, а не запускать сторонние программы.

Прежде, чем я покажу, как (легко) можно переводить числа из шестнадцатеричной системы и более привычную для нас, необходимы дополнительные мероприятия. Все мы в школе учили таблицу умножения, и можем убедиться, что данный навык остался (хотя некоторые им в повседневной жизни не пользуются). Теперь же потребуется немного углубить знания, выучив её вплоть до 16 × 16.

И последнее: я убеждён, что рядовому пользователю эти навыки не понадобятся с вероятностью 99.…%. В общем, вы предупреждены smile.

Преобразование чисел

Таблица умножение от 11 до 16

11 11 × 2 = 2211 × 3 = 3311 × 4 = 4411 × 5 = 5511 × 6 = 6611 × 7 = 7711 × 8 = 8811 × 9 = 9911 × 10 = 11011 × 11 = 12111 × 12 = 13211 × 13 = 14311 × 14 = 15411 × 15 = 16511 × 16 = 176 12 12 × 2 = 2412 × 3 = 3612 × 4 = 4812 × 5 = 6012 × 6 = 7212 × 7 = 8412 × 8 = 9612 × 9 = 10812 × 10 = 12012 × 11 = 13212 × 12 = 14412 × 13 = 15612 × 14 = 16812 × 15 = 18012 × 16 = 192 13 13 × 2 = 2613 × 3 = 3913 × 4 = 5213 × 5 = 6513 × 6 = 7813 × 7 = 9113 × 8 = 10413 × 9 = 11713 × 10 = 13013 × 11 = 14313 × 12 = 15613 × 13 = 16913 × 14 = 18213 × 15 = 19513 × 16 = 208
14 14 × 2 = 2814 × 3 = 4214 × 4 = 5614 × 5 = 7014 × 6 = 8414 × 7 = 9814 × 8 = 11214 × 9 = 12614 × 10 = 14014 × 11 = 15414 × 12 = 16814 × 13 = 18214 × 14 = 19614 × 15 = 21014 × 16 = 224 15 15 × 2 = 3015 × 3 = 4515 × 4 = 6015 × 5 = 7515 × 6 = 9015 × 7 = 10515 × 8 = 12015 × 9 = 13515 × 10 = 15015 × 11 = 16515 × 12 = 18015 × 13 = 19515 × 14 = 21015 × 15 = 22515 × 16 = 240 16 16 × 2 = 3216 × 3 = 4816 × 4 = 6416 × 5 = 8016 × 6 = 9616 × 7 = 11216 × 8 = 12816 × 9 = 14416 × 10 = 16016 × 11 = 17616 × 12 = 19216 × 13 = 20816 × 14 = 22416 × 15 = 24016 × 16 = 256

Следующим шагом необходимо соотнести десятичные числа от 10 до 15 с шестнадцатеричными цифрами от A до F.

Таблица соответствия шестнадцатеричных цифр

HEX (шестнадцатеричная) DEC (десятичная)
0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
A 10
B 11
C 12
D 13
E 14
F 15

А теперь вспомним поразрядное умножение из предыдущей статьи, для цифры 7. Здесь будет лишь поправка на другую систему счисления (не на 10, как там, а на 16).

Обычно в компьютерной литературе, для однозначного указания основания системы счисления, применяется следующая нотация:— шестнадцатеричное число — 0x100 (256 в десятичной, признак — 0x в начале)— десятичное число — 100 (наша, человеческая, система счисления)— восьмеричное число — 0100 (64 в десятичной, признак — ведущий ноль)— двоичное число — 0b100 (4 в десятичной, признак — 0b в начале)

Преобразование шестнадцатеричного числа в десятичное

Для начала, небольшой рисунок:

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

Для преобразования требуется каждую цифру числа умножить на «разряд», в котором оно находится. Из курса начальной школы мы помним, что позиции, занимаемые в числовой строке, называются (справа налево) единицы, десятки, сотни и т. д. Здесь почти то же самое, но с поправкой на систему счисления. Каждый следующий разряд — это +1 степень текущей системы счисления. Любое число в степени ноль — это ноль, в степени 1 — самом число, в степени 2 (квадрат) — число, умноженное само на себя и т. д.

Для наглядности привожу пример. Допустим, возьмём шестнадцатеричное число 0x1F8. Нам требуется перевести его в десятичную систему, поэтому запишем (0x — это признак основания!):

1F816 = 116 × 162 + F16 × 161 + 816 × 160 = 1 × 256 + 15 × 16 + 8 × 1 = 256 + 240 + 8 = 504

Обе таблички нам пригодились: благодаря второй мы переводим числа из шестнадцатеричной системы в десятичную, благодаря первой — легко перемножаем «больше» числа.

Небольшое отступление

А знаете ли вы, что у нас сейчас могла бы использоваться двенадцатеричная система счисления, используемая ещё шумерцами? По одной и версий, этому способствовало количество фаланг пальцев руки. Взгляните на рисунок:

Двенадцатеричная система счисления

Скорее всего, вам сложно это представить. Но, взглянув на это под другим углом, можем убедиться, что выбор был бы очень хорош, ведь 12 делится без остатка на 2, 3, 4, 6 (в то время, как 10 можно разделить лишь на 2 и 5). Естественно, умножения и деления на степень числа 12 были так же просты, как сейчас аналогичные операции для степени числа 10.

Выучив эти таблицы, любой человек легко сможет переводить компьютерные байты в привычные числа. При желании, как следует потренировавшись и «расширив объём» краткосрочной памяти, станут доступны и более сложные варианты. Но, как уже говорилось чуть ранее, манипуляции с байтами мало кому нужны, не говоря о чём-то большем.

Автор публикации

1 872

не в сети 8 часов

x64 (aka andi)

Комментарии: 2738Публикации: 383Регистрация: 02-04-2009 Загрузка...

a-panov.ru

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

Если ты, мой уважаемый друг еще не столкнулся с необходимостью перевода в шестнадцатеричную систему и обратно, то рано или поздно, это произойдет. Я не хочу говорить о том, что именно шестнадцатеричная система является в программировании главной, это и так ясно. С ней постоянно сталкивается даже обычный пользователь, например, при определении RGB цвета во всех приличных программах. А уж человеку, поставившему на свой компьютер Visual Basic и сам бог велел. При описании флагов или объявлении констант мы постоянно пользуемся именно шестнадцатеричным представлением числа, не говоря о том, что сканирование и поиск данных в двоичных файлах вообще без этой системы невозможен. Поэтому я считаю своим долгом сказать следующее: в шестнадцатеричной системе 16 цифр (это не открытие). Последние шесть из них представляются латинскими буквами A, B, C, D, E и F. Представление чисел в шестнадцатиричной форме (и на всякий случай в двоичной) показано в таблице:

Десятичная

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

Двоичная

0

0

0000

1

1

0001

2

2

0010

3

3

0011

4

4

0100

5

5

0101

6

6

0110

7

7

0111

8

8

1000

9

9

1001

10

A

1010

11

B

1011

12

C

1100

13

D

1101

14

E

1110

15

F

1111

Чтобы явно задать число в шестнадцатеричном виде, надо перед числом поставить символы &H. Например, оператор b=&h25 присваивает переменной b значение 21 в десятичном представлении. Для перевода в шестнадцатеричное представление в VB имеется функция Hex:переменная= Hex (число)где число - любое строковое или числовое выражение. Если число не целое, то оно округляется до ближайшего целого, Эта функция возвращает (обратите внимание) строковое(!) шестнадцатеричное представление числа до 8 знаков. Если число имеет недопустимое значение (Null ), то функция возвращает пустое значение. Если число является пустым значением (Empty), то функция возвращает ноль. Ну тут и так все ясно и не для этого я пишу эту статейку. А пишу я ее вот для чего. Иногда возникает необходимость преобразовать шестнадцатеричное число в десятичное. Для этого существует определенный алгоритм. Допустим нам надо преобразовать число A20D14 в десятичное. Это можно сделать, используя формулу:

A20D14= (10*16^5)+(2*16^4)+(0*16^3)+(13*16^2)+(1*16^1)+(4*16^0)=10620180

Т. е. мы получаем сумму произведений из шестнадцатеричной цифры, представленой в десятичном виде, умноженную на 16 (основание системы счисления) в степени "позиция шестнадцатиричной цифры справа" минус 1. Этот алгоритм легко реализовать программно. Удобнее это оформить функцией в стандартном модуле, с тем, чтобы в проекте пользоваться ей так же как и функцией Hex. Содержимое модуля может выглядеть приблизительно так:

Option Explicit'Объявим функцию, где в heximal мы будем передавать наше шестнадцатеричное числоFunction ConvertDec(heximal) As Long'объявим две переменные 'одну для шестнадцатеричной цифры числаDim Simvol As String'вторую для соответствующей ему десятичной цифрыDim DesChislo As Long'а так же переменную для циклаDim x As Long'обнулим ConvertDec = 0'переберем все цифры шестнадцатеричного числа 'и каждой поставим в соотвествие десятичнуюFor x = 1 To Len(heximal) Simvol = Mid(heximal, x, 1)If UCase(Simvol) = "A" Then DesChislo = 10ElseIf UCase(Simvol) = "B" Then DesChislo = 11ElseIf UCase(Simvol) = "C" Then DesChislo = 12ElseIf UCase(Simvol) = "D" Then DesChislo = 13ElseIf UCase(Simvol) = "E" Then DesChislo = 14ElseIf UCase(Simvol) = "F" Then DesChislo = 15Else DesChislo = Val(Simvol)End If'накапливаем в нашей функции результат ConvertDec = ConvertDec + DesChislo * 16 ^ (Len(heximal) - x)Next x'вот и всеEnd Function

Теперь мы можем на форме проекта разместить четыре TextBox'а и сделать в Text1 и Text2 перевод чисел в шестнадцатеричное представление и наоборот соответственно.

Private Sub Text1_Change() If Text1 <> "" Then Text3 = Hex(Text1) Else Text3 = ""End Sub

Private Sub Text2_Change() If Text2 <> "" Then Text4 = ConvertDec(Text2) Else Text4 = ""End Sub

Скачать это все можно вверху страницы.

Copyright © 2005 4us

Сайт создан в системе uCoz

vbzero.narod.ru

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

Как известно, в компьютерах числа записываются в двоичном виде, а человеку удобнее использовать десятичные числа. Перевод чисел из двоичного кода в десятичное представление производят, как правило, соответствующие программы. Однако программистам нередко приходится работать с числами в их непосредственном, «машинном» виде. В этом случае, десятичные числа переводят в шестнадцатеричную систему счисления, понятную как компьютеру, так и специалисту.

Вам понадобится

  • - калькулятор;
  • - компьютер.

Инструкция

  • Чтобы перевести число из десятичной системы в шестнадцатеричную воспользуйтесь стандартным калькулятором Windows. Только калькулятор необходимо использовать не в стандартном, а в «инженерном» виде. Для этого выберите пункт основного меню «Вид» и щелкните мышью на строке «Инженерный».
  • Обратите внимание на то, в каком режиме работает калькулятор. Как правило, это десятичный режим представления чисел, установленный по умолчанию. Если же указатель расположен не в позиции Dec, то установите его в это положение.
  • Теперь просто наберите на клавиатуре компьютера (или виртуальной клавиатуре калькулятора) десятичное число, которое необходимо перевести в шестнадцатеричное представление. Обратите внимание, что число не может быть очень большим – не больше чем 18446744073709551615. Хотя дисплей калькулятора и позволяет вводить более «длинные» числа, при преобразовании в шестнадцатеричный вид «лишние» цифры будут отброшены и результат получится неправильным.
  • Набрав исходное (десятичное) число, переключите калькулятор в шестнадцатеричный режим. Для этого переместите указатель разрядности системы счисления в позицию Hex. Введенное число автоматически преобразуется в шестнадцатеричный вид. Указатель представления шестнадцатеричного числа должен находиться в положении «8 байт», иначе длина вводимых чисел будет очень ограничена (например, при «1 байт» - не более 255).
  • Если компьютера нет, то можно перевести число из десятичного в шестнадцатеричное и «вручную». Для этого разделите десятичное число на 16. Причем, делить нужно классически – «уголком», чтобы остаток получился в виде целого числа, а не в форме «хвоста» десятичной дроби.
  • Итак, разделив исходное число на 16, запишите остаток в качестве младшего (правого) разряда шестнадцатеричного числа. Если остаток больше 9, то преобразуйте его в «настоящий» шестнадцатеричный вид. При этом учтите, что десятичному числу 10 соответствует шестнадцатеричное «А» и т.д. Чтобы не ошибиться, воспользуйтесь следующей табличкой:10 – А11 – В12 – С13 – D14 – E15 – F
  • Если частное от деления исходного числа на 16 получилось больше 0, то снова повторите предыдущий шаг, приняв частное в качестве делимого. Остатки от деления, преобразованные в шестнадцатеричную цифру, последовательно записывайте справа налево. Процесс повторяйте до тех пор, пока частное не окажется равным нулю.

completerepair.ru

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

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

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

Например, требуется перевести шестнадцатеричное число F45ED23C в десятичное. В этом числе 8 цифр и 8 разрядов (помним, что разряды считаются, начиная с нулевого, которому соответствует младший бит). В соответствии с вышеуказанным правилом представим его в виде суммы степеней с основанием 16:

F45ED23C16 = (15·167)+(4·166)+(5·165)+(14·164)+(13·163)+(2·162)+(3·161)+(12·160) = = 409985490810

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

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

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

  1. Делим десятичное число Ана2. ЧастноеQзапоминаем для следующего шага, а остатокaзаписываем какмладшийбит двоичного числа.

  2. Если частное qне равно0, принимаем его за новое делимое и повторяем процедуру, описанную в шаге 1. Каждый новый остаток (0или1) записывается в разряды двоичного числа в направлении отмладшегобита кстаршему.

  3. Алгоритм продолжается до тех пор, пока в результате выполнения шагов 1 и 2 не получится частное Q=0и остатокa=1.

Например, требуется перевести десятичное число 247 в двоичное. В соответствии с приведенным алгоритмом получим:

24710 : 2 = 12310

24710-24610=1, остаток1записываем вМБдвоичного числа.

12310 : 2 = 6110

12310-12210=1, остаток1записываем в следующий послеМБразряд двоичного числа.

6110 : 2 = 3010

6110-6010=1, остаток1записываем в старший разряд двоичного числа.

3010 : 2 = 1510

3010-3010=0, остаток0записываем в старший разряд двоичного числа.

1510 : 2 = 710

1510-1410=1, остаток1записываем в старший разряд двоичного числа.

710 : 2 = 310

710-610=1, остаток1записываем в старший разряд двоичного числа.

310 : 2 = 110

310-210=1, остаток1записываем в старший разряд двоичного числа.

110 : 2 = 010, остаток1записываем в старший разряд двоичного числа.

Таким образом, искомое двоичное число равно 111101112.

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

Для перевода чисел из десятичной системы счисления в восьмеричную используют тот же "алгоритм замещения", что и при переводе из десятичной системы счисления в двоичную, только в качестве делителя используют 8, основание восьмеричной системы счисления:

  1. Делим десятичное число Ана8. ЧастноеQзапоминаем для следующего шага, а остатокaзаписываем какмладшийбит восьмеричного числа.

  2. Если частное qне равно0, принимаем его за новое делимое и повторяем процедуру, описанную в шаге 1. Каждый новый остаток записывается в разряды восьмеричного числа в направлении отмладшегобита кстаршему.

  3. Алгоритм продолжается до тех пор, пока в результате выполнения шагов 1 и 2 не получится частное Q=0и остатокaменьше8.

Например, требуется перевести десятичное число 3336 в восьмеричное. В соответствии с приведенным алгоритмом получим:

333610 : 8 = 41710

333610-333610=0, остаток0записываем вМБвосьмеричного числа.

41710 : 8 = 5210

41710-41610=1, остаток1записываем в следующий послеМБразряд восьмеричного числа.

5210 : 8 = 610

5210-4810=4, остаток4записываем в старший разряд восьмеричного числа.

610 : 8 = 010, остаток0, записываем6в самый старший разряд восьмеричного числа.

Таким образом, искомое восьмеричное число равно 64108.

studfiles.net

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

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

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

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

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

Способ 1: Math Semestr

Math Semestr полностью переведен на русский язык. От пользователя требуется лишь ввести нужное число, указать систему его счисления и выбрать, в какую систему будет осуществляться перевод. На сайте размещены теоретические данные, кроме того, к некоторым решениям прилагается ряд замечаний в формате *.doc.

К особенностям данного сервиса можно отнести наличие возможности вводить числа с запятой.

Перейти на сайт Math Semestr

  1. Заходим на вкладку «Решение онлайн».Переход во вкладку решение онлайн в Math Semestr
  2. В поле «Число» вводим цифру, которую нужно перевести.
  3. В области «Перевод из» выбираем «10», что соответствует десятичной системе счисления.
  4. Из списка «Перевести в» выбираем «16».
  5. Если используется дробное число, указываем, сколько цифр находится после запятой.Ввод главного числа и выбор дополнительных параметров Math Semestr
  6. Нажимаем на кнопку «Решить».Начало процесса преобразования чисел в Math Semestr

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

Как осуществляется перевод на Math.semestr.ru

Способ 2: Planetcalc

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

Калькулятор не умеет работать с дробными числами, однако для простых расчетов его функционала вполне достаточно.

Перейти на сайт Planetcalc

  1. Вводим нужное число в поле «Исходное».Ввод исходных данных на сайте Planetcalc
  2. Выбираем систему исходного числа.
  3. Выбираем основания и систему счисления для результата.Выбор начальной и конечной системы счислния на сайте Planetcalc
  4. Нажимаем на кнопку «Рассчитать».
  5. Результат появится в поле «Переведенное число».Получение результата на сайте Planetcalc

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

Способ 3: Matworld

«Мир математики» — функциональный ресурс, позволяющий производить большинство математических расчетов в онлайн-режиме. Помимо всего прочего, умеет сайт и переводит десятеричные числа в шестнадцатеричную систему счисления. На Matworld представлена довольно подробная теоретическая информация, которая поможет разобраться в расчетах. Система способна работать с дробными числами.

Перейти на сайт Matworld

  1. Вводим нужное цифровое значение в область «Исходное число».Ввод исходного числа на сайте Matworld
  2. Выбираем начальную систему счисления из ниспадающего списка.
  3. Выбираем систему счисления, в которую нужно сделать перевод.
  4. Вводим количество знаков после запятой для дробных значений.Ввод дополнительных параметров перевода на сайте Matworld
  5. Нажимаем «Перевести», в области «Результат» появится нужное нам число.Получение результата на Matworld

Расчет производится за считанные секунды.

Мы рассмотрели наиболее популярные сайты для осуществления перевода из десятеричной системы счисления в шестнадцатеричную. Все сервисы работают по одному принципу, поэтому разобраться в них несложно.

Мы рады, что смогли помочь Вам в решении проблемы. Задайте свой вопрос в комментариях, подробно расписав суть проблемы. Наши специалисты постараются ответить максимально быстро.

Помогла ли вам эта статья?

Да Нет

lumpics.ru

Перевод из десятичного числа в шестнадцатеричное

⇐ ПредыдущаяСтр 2 из 2

Теперь рассмотрим, как это же число 215 можно перевести в шестнадцатеричную систему счисления. Сначала распишем разряды:

160=1

161=16

162=256

163=4096 и т.д.

Ищем подходящий разряд, определяем, что это будет 161=16, значит, число будет двухзначное. Определяем, сколько целых раз 16 содержится в числе 215 – (215 : 16)=13 + 7 в остатке, т.е. число запишется как D7.

Проверяем 215=13*161+7*160=208+7, т.е. 21510=D716

Следует запомнить, что

1610=1*161+0*160=1016

1710=1*161+1*160=1116

1810=1*161+2*160=1216 и т.д.

Перевод дробных чисел

Если десятичное число содержит дробь, перевод в другую систему счисления осуществляется так:

Сначала переводят целую часть, а потом дробную часть.

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

Переведем 0,125 в двоичную систему:

0,125х2=0,25 – разряд – 1

0,25х2=0,5 – разряд – 2

0,5х2=1 – разряд – 3

Итак, 0,125=0*2-1+0*2-2+1*2-3=001 (1*3-3=1:8=0,125)

 

Переведём 0,125 в восьмеричную систему счисления:

0,125х8=1,0008 – разряд – 1

Итак, 0,125=1*8-1=0,18

Переведём 0,125 в шестнадцатеричную систему счисления:

0,125*16=2,0 – разряд – 1

Итак, 0,125=2*16-1=216

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

Например, 1011.

Запись говорит нам, что в числе содержится разряд 1, разряд 2, не содержится разряд 3 и содержится разряд 4. Поэтому мы можем легко перевести это число: в привычную десятичную счисления:

10112=1*23+0*22+1*21+1*20= 8+0+2+1=1110

Рассмотрим более длинную запись двоичного числа, например, 1001110001.

Мы видим, что число десятиразрядное. Разряды 1, 5, 6, 7 и 10 содержат числовые значения, остальные разряды – 2,3,4,8 и 9 без числовых значений, поэтому запись числа расшифруется так:

1*29+0*28+0*27+1*26+1*25+1*24+0*23+0*22+0*21+1*20=512+0+0+64+32+16+0+0+0+1=62510

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

Теперь рассмотрим, как можно перевести восьмеричное число 615,278 в двоичное.

Перевод осуществляется сначала для каждой цифры справа налево этого числа отдельно, а затем записывают последовательно, т.е. каждой восьмеричной цифре соответствует три разряда (триада 8=23) двоичной системы счисления. Пустые позиции в начале числа заполняются нулями.

6 (110) 1 (001) 5 (101), 2 (010) 7 (111), т.о. 615,278=110 001 101, 010 1112

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

Переведём шестнадцатеричное число 6F3,A1516 в двоичное.

Перевод осуществляют также отдельно для каждой цифры числа, но каждый шестнадцатеричный символ здесь будет представляться четырьмя разрядами (тетрадами) = 16=24

6 (0110) F (1510=11112) 3 (0011), A (1010=10102) 5 (0101)

6F3,A516=0110 1111 0011, 1010 01012

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

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

Переводят отдельно каждые триады и тетрады, а затем записывают их последовательно.

101110012= |010| 111 | 001|=2718

100111102= |0100| 1110|= 4E16

⇐ Предыдущая12

mykonspekts.ru