Site Loader

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

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

Пример:

4 3 2 1 0

( 1 0 1 1 0 )2 – ( ? )10

(10110)2 = 1*24 + 0*23 + 1*22 + 1*21 + 0*20 = 16 + 4 = (22)10

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

(Целые числа и дробные переводятся по разным правилам)

Перевод целых чисел:

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

Пример:

(22)10 – ( ? )2 :

22 |2

22 |11 |2

0 | 10 |5 |2

1 |4 |2 |2

1 | 2 |1

0

(22)10 – (10110 )2 .

(22)10 – ( ? )16 :

22 |16

16 | 1

6

(22)10 – (16)16 .

(29)10 – ( ? )16 :

29 |16

16 | 1

D

(29)10 – ( 1D )16 .

Перевод дробной части (дробь должна быть правильной):

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

Целые части полученных произведений будут соответствовать очередным разрядам числа в новой системе счисления (в прямом порядке их получения)

Пример:

(0,35)10 – ( ? )2

0,35*2=0,7;

0,7*2=1,4;

0,4*2=0,8;

0,8*2=1,6;

0,6*2=1,2;…

(0,35)10 – (0,01011 )2

(0,35)10 – ( ? )16

0.35*16=5.6

0.6*16=9.6

0.6*16=9.6

(0,35)10 – (0,59…9 )16

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

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

(16,599)16 – (10110,010110011001)2

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

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

(10110,01011000)2 – (16,58)16

Прямой, обратный, дополнительный коды.

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

П

X0

X<0

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

П

X0

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

О

X<0

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

X<0

X<0

X0

О

X0

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

X<0

Правило: Чтобы получить обратный код отрицательного двоичного числа, в знаковый разряд нужно поставить 1, а значащие разряды проинвертировать (0 заменить 1,а 1 заменить 0).

0 . 101

Знаковый разряд Значащие разряды

1 . 101

A = 0.0100 +4 прямой код;

А = 1.1011 -4 обратный код;

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

Правило: Чтобы произвести суммирование(алгебраическое) двоичных кодов чисел с использованием обратных кодов необходимо все положительные числа представить в прямом коде, а отрицательные в обратном и просуммировать коды чисел, включая знаковые разряды.

Если возникает единица переноса из знакового разряда, то она прибавляется к младшему разряду.

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

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

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

Пример:

А=5, В=4

0.0101 +5 прямой код 0.0100 +4 прямой код

1.1010 -5 обратный код 1.1011 -4 обратный код

А+В

+

0.0101 +5 прямой код

0.0100 +4 прямой код

0.1001 +9 прямой код

А-В

+

0.0101 +5 прямой код

1.1011 -4 обратный код

1 0.0000

+1

0.0001 прямой код

Знаковый разряд результата равен 0. Из этого следует, что результат положительный и представлен в прямом коде.

В-А

+

0. 0100 +4 прямой код

1.1010 -5 обратный код

1.1110

Знаковый разряд результата равен 1. Следовательно, результат получился отрицательным и представлен в обратном коде. Прямой код результата равен:

1.0001 прямой код

Как преобразовать двоичный код в шестнадцатеричный?

Системы счисления являются важной частью математики. Система счисления и ее преобразования используются в различных областях математики и информатики. Эта статья о двоичной, шестнадцатеричной системе счисления и преобразовании двоичной системы счисления в шестнадцатеричную. Преобразование двоичного кода в десятичное очень просто и объясняется далее. Двоичная система счисления — это система, в которой числа выражаются по основанию 2. В двоичной системе счисления числа представлены только в виде нулей и единиц. Цифры в двоичной системе счисления называются битами или двоичными цифрами. Пример: (10110) 2 ,

Decimal Binary
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001
10 1010
11 1011
12 1100
13 1101
14 1110
15 1111

Шестнадцатеричная система счисления — это система, в которой числа выражаются по основанию 16. В шестнадцатеричной системе счисления числа представлены в виде цифр от 0 до 9.и A – F. Шестнадцатеричное число записывается как число H, (число) 16 , (число) H . Example: (A23F) 16 ,

.0231

Метод 1

  1. Во-первых, преобразуйте данное двоичное число в десятичное.
  2. Затем преобразуйте полученное десятичное число в шестнадцатеричное.

Пример: (1110) 2 = (_______) 16

Первый конверт (1110) 2 в десятичный 2 × 1 + 2 1 × 1 + 2 0 × 0 = 8 + 4 + 2 + 0 = (14) 10

Затем, преобразование (14) 10 в шестнадцатеричный = (14) 10 = (E) 16

Пример 2: (0,11001) 2 = (_________) 16

Decimal Hexadecimal
0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 A
11 B
12 C
13 D
14 E
15 F ​​

9

9

99

99

99

99

99

509

509

509

.9 Сначала преобразуйте (0) 2 в десятичное число = 0*2 0 = (0) 10

Затем преобразуйте (11001) 2 в десятичное число = 1*2 -1 + 1*2 9002 2 + 0*2 -3 + 0*2 -4 + 1*2 -5 = (0,78125) 10

Now, convert (0) 10 into hexadecimal   = (0) 16

Now convert (. 78125) 10   to hexadecimal

0.78125*16 = 12.5

0.5*16 = 8.0

(.78125) 10 до шестнадцатеричного = (.c8) 16

, где C для 12 и 8 для 8

SO (0,11001) 2 = (0.c8) 16

Способ 2: (Прямой метод преобразования двоичного кода в шестнадцатеричный) 

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

Примечание

  • Если при формировании четырехугольника биты стоят до точки счисления, то начните формирование четырехугольника с младшего бита, а если биты после точки счисления, начните формирование четырехугольника с непосредственного бита после точки счисления.
  • При формировании четверки количество битов меньше 4 и перед точкой счисления, затем добавьте 0 перед меньшим количеством битов, чтобы сформировать четверку.
  • При формировании четверки количество битов меньше 4, и после точки счисления добавьте 0 после меньшего количества битов, чтобы сформировать четверку.
Decimal Binary Hexadecimal
0 0000 0
1 0001 1
2 0010 2
3 0011 3
4 0100 4
5 0101 5
6 0110 6
7 0111 7
8 1000 8
9 1001 9
10 1010 A
11 1011 B
12 1100 C
13 1101 D
14 1110 E
15 1111 F ​​

Пример: (11101111. 111001) 2 = (_______) 444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444.0005

1110 1111.1110 01
1110 1111 1110  01 00
  E      F   E       4 
(11101111.111001) 2 = (EF.E4) 16

Мы добавили два нуля в конце, так как у нас есть только 01, что не дает четверки. 0 добавляются после 01, потому что это после точки счисления.

Примеры вопросов

Question 1: Convert: (111111101) 2 = (_________) 16

Solution:

(111111101) 2 = 000 1 1111 1101 (Три полужирных нуля добавляются перед 1, так как это неотъемлемая часть (перед точкой счисления))

= 1 F D

= (111111101) 2 = (1FD) 16 5

Вопрос : Конвертировать: (01011110001) 2 = (_________) 16

Solution:

(01011110001) 2 = 0 010 1111 0001 (The bold one 0s are added before 1 Поскольку это интегральная часть (до точки Radix))

= 2 F 1

= (01011110001) 2 = (2F1) 16

Вопрос 3: конвертировать: (0.

11001) 2 2 2 2. = (_________) 16

Решение:

(0,11001) 2 = 000 0 . 1100 1 000   (три жирных нуля добавляются перед 0, так как он является неотъемлемой частью (перед точкой счисления), и 3 жирных нуля добавляются после 1, поскольку 1 стоит после точки счисления).

= 0 C 8

(0,11001) 2 = (0,C8) 16

Вопрос 4: Преобразование: (1.1) 2 = (_______) 16

Решение:

(1.1) 2 = 5 9 0 9 0 9 0 5 9 0 9 0 3 4 6 0 1 000 (три жирных нуля добавляются перед 1, так как это неотъемлемая часть (перед точкой счисления), и 3 жирных нуля добавляются после 1, поскольку 1 стоит после точки счисления).

= 1 8

= (1. 1) 2 = (1.8) 16

Вопрос 5: Преобразование: (101.10101) 2 = (_______) 16

Решение:

(101.10101) 2 =

0 101 . 1010 1 000   (жирный 0 добавляется перед 101, поскольку он является неотъемлемой частью (перед точкой счисления), а 3 жирных нуля добавляются после 1, так как 1 стоит после точки счисления)

= 5 А 8

= (101.10101) 2 = (5A8) 16

Question 6: Convert: (100001.00000001) 2 = (_______) 16

Solution:

(100001.00000001) 2 = 00 10 0001 . 0000 0001 (жирные шрифты два 0s добавляются до 10, поскольку она является интегральной частью (до точки Radix))

= 2 1 0 1

= (100001. 00000001) 2 = (21.01) 16 16.00000001) 2 = (21.01) 16 16 160000001) 2 = (21.01) 16 161000001) 2 = (21,01)

Question 7: Convert: (10111101.0001111) 2 = (_______) 16

Solution: 

(10111101.0001111) 2 = 1011 1101 . 0001 111 0 (The bold one 0 is added after 111 as 111 is after the radix point)

= B D 1 E

= (10111101.0001111) 2 = (BD.1E) 16 9n2n справа налево, при этом мощность nnn возрастает в том же направлении.

В этом случае с левой стороны остается менее четырех цифр после набора из четырех цифр справа, поэтому мы добавляем 0 к этому значению, как показано на изображении выше. Значение двоичного числа 1101110 в шестнадцатеричной форме равно 6E .

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

 

#include

использование пространства имен std;

int main() {

int hex[1000];

int i = 1, j = 0, rem, dec = 0, binaryNumber;

cin>> двоичное число;

в то время как (двоичное число > 0)

{

rem = двоичное число % 2;

уб = уб + ост * i;

я = я * 2;

двоичное число = двоичное число / 10;

}

i = 0;

while (dec != 0)

{

hex[i] = dec % 16;

уб = уб/16;

я++;

}

cout<<" Шестнадцатеричное значение: ";

for (j = i - 1; j >= 0; j--)

{

if (hex[j] > 9)

cout<<(char)(hex[j] + 55)< <"\n";

else

cout<

}

возврат 0;

}

Введите ниже

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

Введите двоичное число в поле ввода выше.

alexxlab

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *