Двоичная (2) – 0, 1 Восьмеричная (8) – 0, 1, 2, 3, 4, 5, 6, 7 Десятичная (10) – 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 Шестнадцатеричная (16) – 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, А (10), В (11), С (12), D (13), E (14), F (15) 10 2
Чтобы число из десятичной системы перевести в любую другую, надо делить на ту систему, в которую переводим, нацело и записать с конца , 8,
Для перевода числа в десятичную систему из любой другой, нужно записать число в развернутой форме и вычислить его значение = 1* * * * *2 0 = = = 3* *8 0 = = = 1* *16 0 = = 25 10
Для перевода дробного числа, нужно сначала перевести целую часть, а потом дробную и записать число. Целую часть переводим как обычно, а дробную умножаем на ту систему, в которую переводим, и записываем столько знаков после запятой, сколько просят в задаче. Если в задачи не указано количество знаков, которые надо записать, то записываем три знака после запятой. 12, = 1100, ,51 * 2 1 0,02 * 2 0 0,04 * 2 0 0,08 * 2 0
17, = 21, ,51 * 8 4 0,08 * 8 0 0,64 * 8 6 0,4 * , = 11, ,51 * ,16 * ,56 * 16 8
Для перевода дробного числа в десятичную систему из любой другой, нужно это число записать в развернутой форме и вычислить его значение , =1*2 3 +1*2 2 +0*2 1 +0*2 0 +1* * *2 -3 = ,5 = 12, , =2*8 1 +1*8 0 +4* * * *8 -4 =16+1+0,5+0,01+0,0007=17, , =1* * * * *16 -3 =16+1+0,5+0,007+0,002=17,509 10
Для того чтобы число перевести из двоичной системы счисления в восьмеричную, надо разбить число с права на лево на триады, выписать каждую триаду и развернуть. Если не хватает цифр до триады дописать = =0*2 2 +0*2 1 +1*2 0 = =0*2 2 +0*2 1 +1*2 0 = =1*2 2 +1*2 1 +1*2 0 =7 8
Для того чтобы число из восьмеричной системы счисления перевести в двоичную надо каждое число представить в виде триады (найти код в двоичной системе) = = =
Для того чтобы число из двоичной системы счисления перевести в шестнадцатеричную, надо разбить с права на лево число на тетрады и развернуть каждую = 4F = 0*2 3 +1* * *2 0 = = 1*2 3 +1*2 2 +1*2 1 +1*2 0 =15 16 =F 16
Для того чтобы число из шестнадцатеричной системы счисления перевести в двоичную, надо каждую цифру представить в виде тетрады (найти код в двоичной системе). 4F 16 2 = = F 16 =15 16 =
Чтобы дробное число перевести из двоичной системы счисления в восьмеричную, надо целую часть разбить с права на лево, а дробную с лева на право на триады, выписать каждую триаду и развернуть , = 67, = = = = 4 8
Для того чтобы дробное число из двоичной системы счисления перевести в шестнадцатеричную, надо целую часть с права на лево, а дробную часть с лева на право разбить на тетрады, выписать каждое число и развернуть , = 37,6E = = = =14 16 =E 16
Для того чтобы дробное число из восьмеричной системы счисления перевести в двоичную, нужно каждое число представить в виде триады (найти его код). Если получается число, где количество цифр меньше трех, впереди дописываем нули. 67, = , = = = =100 2
Для того чтобы дробное число из шестнадцатеричной системы счисления перевести в двоичную, надо каждое число представить в виде тетрады (найти его код). Если количество цифр в числе получается меньше четырех, впереди дописываем нули. 37,6E 16 2 = , = = = E 16 =14 16 =1110 2
0 + 0 = = = =
0 – 0 = 0 0 – 1 = 11 1 – 0 = 1 1 – 1 =
0 * 0 = 0 0 * 1 = 0 1 * 0 = 0 1 * 1 =
Операция деления выполняется по алгоритму, подобному алгоритму выполнения операции деления в десятичной системе счисления , ,
Для выполнения арифметических действий в восьмеричной системе счисления нужно помнить, что величина переноса в следующий разряд при сложении и заем из старшего разряда при вычитании определяется величиной основания системы счисления
Для выполнения арифметических действий в шестнадцатеричной системе счисления нужно помнить, что величина переноса в следующий разряд при сложении и заем из старшего разряда при вычитании определяется величиной основания системы счисления. 9А5 FFFF В9 1 А5Е
9A B9 BABA 8EC 16 BEDC 16 9A5 FFFF B9 1 56CD FFFF 16 6A17 6F83D 16
Для получения дополнительного кода отрицательного числа можно использовать довольно простой алгоритм: 1)Модуль числа записать в прямом коде в n двоичных разрядах. 2)Получить обратный код числа, для этого значения всех битов инвертировать (все единицы заменить на нули и все нули заменить на единицы). 3)К полученному обратному коду прибавить единицу. Выполнить арифметическое действие – в 16-ти разрядном компьютерном представлении.
Решение: Переведем 20 из десятичной системы счисления в двоичную и запишем ее прямой код. У положительного числа нет обратного и дополнительного кода = ) Найдем прямой, обратный и дополнительный код = – прямой код – обратный код – дополнительный код 3)Просуммируем прямой код положительного с дополнительным кодом отрицательного
4) Инвертируем полученный дополнительный код ) К полученному прибавили ) Переведем в десятичную систему счисления и припишем знак отрицательного числа = Ответ:
Число с плавающей запятой может быть любым. Так число А может быть представлено в виде: А = m * q n m – мантисса числа q – основание системы счисления n – порядок числа Мантисса должна быть правильной дробью и иметь после запятой цифру, отличную от нуля. Например, число 555,55 будет иметь вид 0,55555 * 10 3
Представьте число 158, в 4-х байтовой разрядной сетке. 1)Переведем число в двоичную систему счисления. 158, = ,01 2 2)Запишем число в виде нормальной мантиссы. А = ,01 * 10 А = 0, * 10 8 А = 0, * )Представим число в 4-х байтовой разрядной сетке Знак порядка Порядок Знак мантиссы Мантисса
При сложении чисел в формате с плавающей запятой, порядки выравниваются, а полученные мантиссы складываются. 0,1 * ,1 * 2 5 = 0,001 * ,1 * 2 5 = 0,101 * 2 5 При вычитании порядки выравниваются, а полученные мантиссы вычитаются. 0,1 * ,1 * 2 3 = 0,1 * 2 6 – 0,001 * 2 6 = 0,099 * 2 6 = 0,99 * 2 5 При умножении чисел в формате с плавающей запятой порядки складываются, а мантиссы перемножаются. (0,1 * 2 3 ) * (0,1 * 2 5 ) = 0,01 * 2 8 = 0,1 * 2 7 При делении из порядка делимого вычитается порядок делителя, а мантисса делимого делится на мантиссу делителя. (0,1 * 2 6 ) / (0,1 * 2 3 ) = 1 * 2 2 = 0,1 * 2 3