Все вопросы к тесту (html) Информатика (курс 2)
Задание для самостоятельной проработки темы
В форме с плавающей точкой число имеет вид:
A = mA qp,
где mА - мантисса числа А; р – порядок числа А.
Данное представление числа не является однозначным, поэтому для определенности вводят некоторые ограничения. Обычно вводится ограничение на величину мантиссы следующего вида:
q-1 £ |mA| <1, (*)
где q – основание системы счисления.
Это, так называемая, нормализованная форма представления чисел. В такой форме положение разрядов числа в его машинном представлении не постоянно. Формат машинного изображения числа с плавающей точкой должен содержать знаковые части и поля для мантиссы и порядка. В ниже приведенной таблице показан пример расположения полей числа в случае 16-ти разрядной машинной сетки, при этом под мантиссу, с учетом знакового разряда, отводится 10 разрядов, а под порядок с учетом знакового разряда – 6.
Рассмотрим пример записи чисел в форме с плавающей запятой. Пусть в разрядную сетку цифрового автомата необходимо записать двоичное число А = -10111.0111. Прежде всего, число нужно записать в нормальной форме. Порядок числа выбирается таким, чтобы выполнялось условие (*). То есть, А = -0.101110111 * 25. Таким образом, машинное представление мантиссы числа, с учетом знакового разряда, будет иметь вид mA = 1101110111, а машинное представление порядка числа будет иметь вид pA = 00101. Здесь, как обычно, минус обозначается единицей, а плюс – нулем.
Задание 2. С помощью программы “Inf2.exe” ответьте на несколько вопросов по 2-ой теме.
Для машинного представления отрицательных чисел используют прямой, дополнительный и обратный коды, применение которых позволяет заменить операцию вычитания операцией сложения. Рассмотрим применение этих кодов для чисел представленных в форме с фиксированной точкой. Далее будут рассматриваться только числа по модулю меньшие единицы.
Прямой код числа А = -0.а1,a2,…an выглядит следующим образом [A]пр = 1.а1,a2,…an. Таким образом в прямом коде все разряды остаются неизменными, а в знаковой части записывается единица. Например, если А = -0.101101, то [A]пр = 1,101101. Правила преобразования чисел в прямой код можно сформулировать так:
Дополнительный код отрицательного двоичного числа A=-0,a1,a2,…an – это такое машинное изображение числа [A]Д = 1.b1,b2,…bn , для которого bi=0 при ai=1, и bi=1 при ai=0, за исключением последнего разряда, для которого bn=1 при an=1. Например, число А=-0.110011 запишется в дополнительном коде как [A]Д=1,001101. Так как положительные числа не меняют своего изображения в дополнительном коде, то правила преобразования в дополнительный код можно записать следующим образом:
Обратный код отрицательного двоичного числа A=-0,a1,a2,…an – это такое машинное изображение этого числа [A]обр=1,c1,c2,…cn, для которого ci=0, если ai=1 и ci=1, если ai=0. Из определения следует, что обратный код является инверсным изображением самого числа, в котором все разряды исходного числа принимают инверсное (обратное) значение. Например, если A=-0,110010, то [A]обр=1,001101. Правила преобразования в обратный код записываются следующим образом:
Задание 3. С помощью программы “Inf2.exe” ответьте на несколько вопросов по 3-ей теме.
Программа Inf2.exe предоставляет возможность выполнить упражнения по представлению двоичных чисел в различных формах. Для запуска программы сделайте двойной щелчок по ярлыку программы. На экране появится окно «Формы представления чисел в ЭВМ», имеющее следующий вид:
Пункт меню «различные формы представления чисел» содержит следующие разделы:
· Представление чисел в форме с фиксированной точкой (тема-1)
· Представление чисел в форме с плавающей точкой (тема-2)
· Прямой, дополнительный и обратный коды двоичного числа (тема-3)
· Самостоятельная работа
· Exit
При выборе любого из первых трех разделов меню открывается диалоговое окно, в котором предлагаются вопросы по выбранной теме. Число вопросов неограниченно. После каждого ответа дается правильный вариант ответа и показывается полное число заданных вопросов и количество правильных ответов. Рассмотрим работу с диалоговым окном по первой теме. Диалоговое окно в этом случае имеет следующий вид:
В диалоговом окне предлагается найти масштабный коэффициент и машинные представления для двух двоичных чисел. Сами числа выведены в окнах «1-е число» и «2-е число». Ответы вводятся в соответствующие окна, после чего нужно нажать кнопку «OK». После нажатия кнопки «OK» на экране в соответствующих окнах появляются правильные ответы. Для перехода к следующему заданию следует нажать кнопку «следующие два числа» и т.д. Для завершения работы и закрытия диалогового окна нужно нажать кнопку «Cancel» или щелкнуть по крестику в правом верхнем углу, после чего диалоговое окно исчезает, а счетчик правильных ответов обнуляется.
Сходные диалоговые окна появляются при выборе раздела меню «представление чисел в форме с плавающей точкой (тема-2)» и раздела «прямой, дополнительный и обратный коды двоичного числа (тема-3)». Работа с окнами аналогична работе с диалоговым окном по 1-й теме.
Раздел меню «самостоятельная работа» содержит 4 подраздела:
· Тема-1
· Тема-2
· Тема-3
· Число правильных ответов по каждой теме
При выборе каждого из первых трех подразделов появляются диалоговые окна, сходные с диалоговыми окнами по каждой теме. Отличия заключаются в том, что число задаваемых вопросов фиксировано, правильные ответы не показываются и выход из самостоятельной работы осуществляется только при нажатии кнопки «следующие два числа» (или «следующее число»), в случае когда число заданных вопросов равно «общему числу вопросов». Только в этом случае счетчик правильных ответов не обнуляется. После выполнения самостоятельной работы по каждой из тем нужно щелкнуть подраздел меню «число правильных ответов по каждой теме», после чего на экране будет показан итоговый результат по каждой из тем.
Задание 1. С помощью программы “Inf2.exe” ответьте на несколько вопросов по 1-ой теме.
Вариант
Дайте ответ на поставленные вопросы
Даны два числа с фиксированной точкой 0111.00000 и 01111.01010 их машинное представление 0.0111 и 0.11110101 соответственно. Какой будет их масштабный коэффициент?
Для двоичного числа -0.110111011011 запишите прямой код
Для чисел с фиксированной точкой 1-ое число 111.11111, 2-ое число 1101.10111 записать их машинные представления. Незначащие нули в начале и в конце числа не записывать. Пример записи: 0.1111,0.001101 после 1-ого числа ставится запятая и записывается 2-ое число. Всё без пробелов
Запишите машинное представление (с учётом знакового разряда) мантиссы и порядка двоичного числа +0.0000011001, если число разрядов, отводимых под мантиссу вместе со знаковым разрядом равно 6, а под порядок вместе со знаковым разрядом равно 4. Пример записи: 011011,0101 После мантиссы ставится запятая и пишется порядок. Всё без пробелов.
Вариант
Дайте ответ на поставленные вопросы
Даны два числа с фиксированной точкой 1100.100000 и 10101.11111 их машинное представление 0.011001 и 0.1010111111 соответственно. Какой будет их масштабный коэффициент?
Для двоичного числа -0.011011000001 запишите дополнительный код
Для чисел с фиксированной точкой 1-ое число 1000.1100, 2-ое число 11010.10011 записать их машинные представления. Незначащие нули в начале и в конце числа не записывать. Пример записи: 0.1111,0.001101 после 1-ого числа ставится запятая и записывается 2-ое число. Всё без пробелов.
Запишите машинное представление (с учётом знакового разряда) мантиссы и порядка двоичного числа +1.0101, если число разрядов, отводимых под мантиссу вместе со знаковым разрядом равно 6, а под порядок вместе со знаковым разрядом равно 4. Пример записи: 011011,0101 После мантиссы ставится запятая и пишется порядок. Всё без пробелов.
Вариант
Дайте ответ на поставленные вопросы
Даны два числа с фиксированной точкой 00111.0000 и 0000.10110 их машинное представление 0.111 и 0.0001011 соответственно. Какой будет их масштабный коэффициент?
Для двоичного числа -0.010110100101 запишите обратный код
Для чисел с фиксированной точкой 1-ое число 01111.01000, 2-ое число 0011.10101 записать их машинные представления. Незначащие нули в начале и в конце числа не записывать. Пример записи: 0.1111,0.001101 после 1-ого числа ставится запятая и записывается 2-ое число. Всё без пробелов
Запишите машинное представление (с учётом знакового разряда) мантиссы и порядка двоичного числа -10.100, если число разрядов, отводимых под мантиссу вместе со знаковым разрядом равно 6, а под порядок вместе со знаковым разрядом равно 4. Пример записи: 011011,0101 После мантиссы ставится запятая и пишется порядок. Всё без пробелов
Вариант
Дайте ответ на поставленные вопросы
Даны два числа с фиксированной точкой 0011.00010 и 001010.10001 их машинное представление 0.00110001и 0.101010001 соответственно. Какой будет их масштабный коэффициент?
Для двоичного числа -0.101100100100 запишите дополнительный код
Для чисел с фиксированной точкой 1-ое число 01000.0001, 2-ое число 01111.001010 записать их машинные представления. Незначащие нули в начале и в конце числа не записывать. Пример записи: 0.1111,0.001101 после 1-ого числа ставится запятая и записывается 2-ое число. Всё без пробелов
Запишите машинное представление (с учётом знакового разряда) мантиссы и порядка двоичного числа +11000.0, если число разрядов, отводимых под мантиссу вместе со знаковым разрядом равно 6, а под порядок вместе со знаковым разрядом равно 4. Пример записи: 011011,0101 После мантиссы ставится запятая и пишется порядок. Всё без пробелов.
Вариант
Дайте ответ на поставленные вопросы
Даны два числа с фиксированной точкой 00111.00001 и 0010.110101 их машинное представление 0.11100001 и 0.010110101 соответственно. Какой будет их масштабный коэффициент?
Для двоичного числа -0.101010100111 запишите обратный код
Для чисел с фиксированной точкой 1-ое число 01011.00111, 2-ое число 0110.10001 записать их машинные представления. Незначащие нули в начале и в конце числа не записывать. Пример записи: 0.1111,0.001101 после 1-ого числа ставится запятая и записывается 2-ое число. Всё без пробелов.
Запишите машинное представление (с учётом знакового разряда) мантиссы и порядка двоичного числа +0.010001, если число разрядов, отводимых под мантиссу вместе со знаковым разрядом равно 6, а под порядок вместе со знаковым разрядом равно 4. Пример записи: 011011,0101 После мантиссы ставится запятая и пишется порядок. Всё без пробелов.
Знакомство с формами представления двоичных чисел в ЭВМ
Естественная форма представления числа в цифровом автомате характеризуется тем, что положение его разрядов в автоматном изображении остается всегда постоянным независимо от величины самого числа. Чтобы упростить функционирование цифрового автомата, необходимо ограничить входную информацию какой-то одной областью чисел, например, только правильными дробями. В этом случае на вход цифрового автомата подаются двоичные числа, удовлетворяющие условию:
-1 < [Af] < +1, (*)
где [Af ]– машинное изображение числа в форме с фиксированной точкой.
В этом случае произвольное число А будет представлено в виде:
A = [Af] KA,
где КА – масштабный коэффициент, выбираемый так, чтобы выполнялось условие (*). Например, пусть задано двоичное число 1011.011. Данное число может быть представлено в следующих формах.
1011.011 = 0.1011011 24 = 0.001011011 26 = 0.0001011011 27 =….
Из приведенного примера видно, что величина масштабного коэффициента может быть различной, т.е. условие (*) не определяет однозначно величину масштабного коэффициента. Второе условие, которое необходимо учитывать, выбирая масштабный коэффициент – это необходимость сохранять соответствие разрядов всех чисел, которыми оперирует цифровой автомат при проведении арифметических операций. Т.е. масштабный коэффициент операндов должен быть одинаков и при этом должно выполняться условие (*). Для того, чтобы выполнить оба эти условия поступают следующим образом. Большее по абсолютной величине двоичное число, участвующее в двухместной операции, записывают в виде правильной дроби, при этом абсолютное значение машинного представления числа должно удовлетворять условию:
1/2<[Af]<1
Т.е. дробная часть машинного представления числа должна начинаться с единицы. Для полученного [Аf] определяется масштабный коэффициент КА из условия
A = [Af] KA
Найденное значение КА будет единым для обеих операндов. Например, пусть даны два числа А1 = 1011.011 и А2 = 10.1011, которые необходимо представить в форме с фиксированной точкой для проведения над ними арифметической операции. Поскольку А1>A2 , то определяем сначала машинное представление и масштабный множитель для А1.
[A1f]=0.1011011; KA1 = 4;
Из условия, что масштабный коэффициент должен быть единым для обоих чисел, находим машинное представление 2-го числа.
[A2f]=0.00101011; KA2 = 4;
1533.02.01;ЭПT2.02;1
Необходимые рабочие файлы:
Inf___2.exe
Тестирование
Двоичное число А= - 0,101110 в дополнительном коде
Двоичное число А= - 0,101110 в обратном коде
Двоичное число А= - 0,101110 в прямом коде
Двоичное число А= 0,101110 в прямом коде
Чем характеризуется естественная форма представления числа в цифровом автомате?
1533.01.01;ЭПT2.03;1
Знакомство со способами выполнения операции алгебраического сложения над двоичными числами в сумматорах различного типа. Использование программы inf___3.exe для выполнения упражнений с двоичными сумматорами различных видов
Необходимые рабочие файлы:
Inf___3.exe
Задание для самостоятельной проработки примера
Программа Inf3.exe предоставляет возможность выполнить упражнения по выполнению операции сложения двоичных чисел в сумматорах разного типа. Для запуска программы сделайте двойной щелчок по ярлыку программы. На экране появится окно «Выполнение операции сложения в сумматорах разного типа», имеющее следующий вид:
Пункт меню «Типы двоичных сумматоров» содержит следующие разделы:
· Сумматор прямого кода (тема-1)
· Сумматор дополнительного кода (тема-2)
· Сумматор обратного кода (тема-3)
· Самостоятельная работа
· Exit
При выборе любого из первых трех разделов меню открывается диалоговое окно, в котором предлагаются вопросы по выбранной теме. Число вопросов неограниченно. После каждого ответа дается правильный вариант ответа и показывается полное число заданных вопросов и количество правильных ответов. Рассмотрим работу с диалоговым окном по первой теме. Диалоговое окно – «Сумматор прямого кода» в этом случае имеет следующий вид:
В диалоговом окне предлагается найти сумму двух двоичных чисел в сумматоре прямого кода. Сами числа выведены в окнах «1-е число» и «2-е число». При ответе надо в соответствующем окне ввести результат суммирования и поставить или не поставить флажок, указывающий наличие или отсутствие признака переполнения. После ввода ответа нужно нажать кнопку «OK». После нажатия кнопки «OK» на экране в соответствующих окнах появляются правильные ответы. Для перехода к следующему заданию следует нажать кнопку «следующие два числа» и т.д. Для завершения работы и закрытия диалогового окна нужно нажать кнопку «Cancel» или щелкнуть по крестику в правом верхнем углу, после чего диалоговое окно исчезает, а счетчик правильных ответов обнуляется.
Сходные диалоговые окна появляются при выборе раздела меню «сумматор дополнительного кода (тема-2)» и раздела «сумматор обратного кода (тема-3)». Работа с окнами аналогична работе с диалоговым окном по 1-й теме.
Раздел меню «самостоятельная работа» содержит 4 подраздела:
· Тема-1
· Тема-2
· Тема-3
· Число правильных ответов по каждой теме
При выборе каждого из первых трех подразделов появляются диалоговые окна, сходные с диалоговыми окнами по каждой теме. Отличия заключаются в том, что число задаваемых вопросов фиксировано, правильные ответы не показываются и выход из самостоятельной работы осуществляется только при нажатии кнопки «следующие два числа», в случае, когда число заданных вопросов равно «общему числу вопросов». Только в этом случае счетчик правильных ответов не обнуляется. После выполнения самостоятельной работы по каждой из тем нужно щелкнуть подраздел меню «число правильных ответов по каждой теме», после чего на экране будет показан итоговый результат по каждой из тем.
Задание 1. С помощью программы “Inf3.exe” ответьте на несколько вопросов по каждой из тем.
Операция алгебраического сложения двоичных чисел в сумматорах различного типа
Рассмотрим несколько видов двоичных сумматоров. На предыдущих занятиях были рассмотрены различные коды представления двоичных чисел в ЭВМ. В частности были рассмотрены прямой, дополнительный и обратный коды двоичного числа. Цель введения этих кодов представления – свести операцию вычитания чисел к операции сложения. Разным кодам соответствуют разные типы двоичных сумматоров, т.е. цифровых автоматов, производящих операцию сложения двоичных чисел, причем в результате выполнения операции сложения в сумматоре определенного типа результат получается в том же коде, что и код слагаемых.
Двоичный сумматор прямого кода – сумматор, в котором отсутствует цепь поразрядного переноса между старшим цифровым и знаковым разрядами. На таком сумматоре можно складывать только числа, имеющие одинаковые знаки, т.е. фактически, такой сумматор не может выполнять операцию алгебраического сложения. Сумматор прямого кода содержит цифровые разряды, а самый первый разряд является знаковым. Равенство содержимого знакового разряда 1 означает отрицательность числа, а если знаковый разряд равен 0, то число положительно. Таким образом, в сумматоре прямого кода должно выполняться равенство SgA=SgB, где SgA, SgB – содержимое знаковых разрядок 1-го и 2-го слагаемого соответственно. Например, пусть требуется сложить два числа: A=-0.0110 и B=-0.0101. В сумматоре прямого кода эта операция будет произведена следующим образом (1-й разряд является знаковым и он остается неизменным при выполнении операции):
[A]пр = 10110
+
[B]пр = 10101
___
[C]пр = 11011
При сложении чисел одинакового знака в сумматоре прямого кода может возникнуть переполнение разрядной сетки. Признак переполнения разрядной сетки сумматора прямого кода – появление единицы переноса из старшего разряда цифровой части числа. В качестве примера рассмотрим следующие два числа:
[A]пр = 01011
+
[B]пр = 00101
___
[C]пр = 00000
¯
перенос единицы из старшего разряда цифровой части числа, вырабатывается признак переполнения
Сумматор дополнительного кода – это сумматор, оперирующий изображениями чисел в дополнительном коде. Характерная особенность такого сумматора – наличие цепи поразрядного переноса из старшего разряда цифровой части в знаковый разряд. Алгебраическая сумма чисел, записанных в дополнительном коде, есть число также в дополнительном коде. В качестве примера рассмотрим алгебраическую сумму двух чисел разного знака:
[A]Д = 01010
+
[B]Д = 10111
___
[C]Д = 00001
Признак переполнения разрядной сетки сумматора дополнительного кода при сложении положительных чисел – отрицательный знак результата, а при сложении отрицательных чисел – положительный знак результата.
Для обнаружения переполнения разрядной сетки в сумматоре цифрового автомата должны быть предусмотрены аппаратные средства, автоматически вырабатывающие признак переполнения. Чтобы обнаружить переполнение разрядной сетки сумматора дополнительного кода (также как и сумматора обратного кода. который будет рассмотрен далее), в него вводится дополнительный разряд, идущий сразу за знаковым разрядом и называемый разрядом переполнения. Такое представление чисел в сумматорах дополнительного и прямого кода называют модифицированным. Признак переполнения в этом случае вырабатывается при выполнении условия
Это условие означает, что признак переполнения вырабатывается, когда значения знакового разряда и разряда переполнения различны. Приведем пример суммирования двух отрицательных чисел, записанных в модифицированном виде, в сумматоре дополнительного кода. Необходимо помнить, что 1-й разряд является знаковым, а 2-й – разрядом переполнения.
[A]Д = 11010
+
[B]Д = 11011
___
[C]Д = 10101 ® вырабатывается признак переполнения, так как значения знакового разряда и разряда переполнения различны.
Сумматор обратного кода оперирует изображениями чисел в обратном коде. Характерная особенность сумматора обратного кода – наличие цепи кругового или циклического переноса из знакового разряда в младший разряд цифровой части. Алгебраическая сумма чисел, записанных в обратном коде, есть число также в обратном коде. Приведем пример сложения двух чисел, записанных в обратном коде.
[A]об = 11010
+
[B]об = 00111
___
[C]об = 00010
Данный результат получается в результате переноса единицы из знакового разряда в младший цифровой разряд.
Для обнаружения переполнения разрядной сетки в сумматоре обратного кода как и в сумматоре дополнительного кода используется модифицированное представление числа, т.е. вводится дополнительный разряд переполнения, идущий сразу за знаковым разрядом. Правила выработки признака переполнения те же, что и для сумматора дополнительного кода. Рассмотрим пример сложения чисел представленных в модифицированном виде в сумматоре обратного кода (1-й разряд – знаковый, 2-й разряд – разряд переполнения).
[A]об = 11010
+
[B]об = 11011
___
[C]об = 10110 ® вырабатывается признак переполнения
Вариант
Решите задания:
Введите результат сложения двух чисел, записанных в дополнительном коде. 1-ый разряд знаковый, 2-ой переполнения, остальные цифровые. Укажите есть или нет переполнения. Числа: 1-ое 00110, 2-ое 11011. Пример: 01100,нет или 01100,есть (без пробелов)
Введите результат сложения двух чисел, записанных в обратном коде. 1-ый разряд знаковый, 2-ой переполнения, остальные цифровые. Укажите есть или нет переполнения. Числа: 1-ое 11101, 2-ое 11001. Пример: 01100,нет или 01100,есть (без пробелов)
Введите результат сложения двух чисел, записанных в прямом коде. 1-ый разряд знаковый, остальные цифровые. Укажите есть или нет переполнения. Числа: 1-ое 10001, 2-ое 10000. Пример: 01100,нет или 01100,есть (без пробелов)
Вариант
Решите задания:
Введите результат сложения двух чисел, записанных в дополнительном коде. 1-ый разряд знаковый, 2-ой переполнения, остальные цифровые. Укажите есть или нет переполнения. Числа: 1-ое 00100, 2-ое 11000. Пример: 01100,нет или 01100,есть (без пробелов)
Введите результат сложения двух чисел, записанных в обратном коде. 1-ый разряд знаковый, 2-ой переполнения, остальные цифровые. Укажите есть или нет переполнения. Числа: 1-ое 11001, 2-ое 11010. Пример: 01100,нет или 01100,есть (без пробелов)
Введите результат сложения двух чисел, записанных в прямом коде. 1-ый разряд знаковый, остальные цифровые. Укажите есть или нет переполнения. Числа: 1-ое 11110, 2-ое 11011. Пример: 01100,нет или 01100,есть (без пробелов)
Вариант
Решите задания:
Введите результат сложения двух чисел, записанных в дополнительном коде. 1-ый разряд знаковый, 2-ой переполнения, остальные цифровые. Укажите есть или нет переполнения. Числа: 1-ое 11111, 2-ое 11000. Пример: 01100,нет или 01100,есть (без пробелов)
Введите результат сложения двух чисел, записанных в обратном коде. 1-ый разряд знаковый, 2-ой переполнения, остальные цифровые. Укажите есть или нет переполнения. Числа: 1-ое 11101, 2-ое 00001. Пример: 01100,нет или 01100,есть (без пробелов)
Введите результат сложения двух чисел, записанных в прямом коде. 1-ый разряд знаковый, остальные цифровые. Укажите есть или нет переполнения. Числа: 1-ое 11011, 2-ое 11000. Пример: 01100,нет или 01100,есть (без пробелов)
Вариант
Решите задания:
Введите результат сложения двух чисел, записанных в дополнительном коде. 1-ый разряд знаковый, 2-ой переполнения, остальные цифровые. Укажите есть или нет переполнения. Числа: 1-ое 11000, 2-ое 11010. Пример: 01100,нет или 01100,есть (без пробелов)
Введите результат сложения двух чисел, записанных в обратном коде. 1-ый разряд знаковый, 2-ой переполнения, остальные цифровые. Укажите есть или нет переполнения. Числа: 1-ое 00100, 2-ое 11010. Пример: 01100,нет или 01100,есть (без пробелов)
Введите результат сложения двух чисел, записанных в прямом коде. 1-ый разряд знаковый, остальные цифровые. Укажите есть или нет переполнения. Числа: 1-ое 00011, 2-ое 00001. Пример: 01100,нет или 01100,есть (без пробелов)
Вариант
Решите задания:
Введите результат сложения двух чисел, записанных в дополнительном коде. 1-ый разряд знаковый, 2-ой переполнения, остальные цифровые. Укажите есть или нет переполнения. Числа: 1-ое 11000, 2-ое 11010. Пример: 01100,нет или 01100,есть (без пробелов)
Введите результат сложения двух чисел, записанных в обратном коде. 1-ый разряд знаковый, 2-ой переполнения, остальные цифровые. Укажите есть или нет переполнения. Числа: 1-ое 00100, 2-ое 11010. Пример: 01100,нет или 01100,есть (без пробелов)
Введите результат сложения двух чисел, записанных в прямом коде. 1-ый разряд знаковый, остальные цифровые. Укажите есть или нет переполнения. Числа: 1-ое 00011, 2-ое 00001. Пример: 01100,нет или 01100,есть (без пробелов)
Тестирование
На двоичном сумматоре прямого кода можно складывать числа
Наличие цепи кругового, или циклического, переноса из знакового разряда в младший разряд цифровой части является характерной особенностью двоичного сумматора кода
Наличие цепи поразрядного переноса из старшего разряда цифровой части в знаковый разряд является характерной особенностью двоичного сумматора кода
Отрицательный знак результата при сложении положительных чисел является признаком переполнения разрядной сетки сумматора кода
Появление единицы переноса из старшего разряда цифровой части числа является признаком переполнения разрядной сетки сумматора кода
Теоретическая часть
В случае кодирования по методу четности-нечетности к каждому двоичному числу добавляется один избыточный разряд и в него записывается 1 или 0 с таким условием, чтобы сумма цифр в числе была по модулю 2 равна 0 в случае кодирования по методу четности и 1 – по методу нечетности. Другими словами число единиц в двоичном числе (вместе с контрольным разрядом) должно быть четным числом в случае четности и нечетным – в случае нечетности. Появление ошибки в двоичном коде обнаружится по нарушению этого правила. Например, число 10011011 будет ошибочным в случае кодирования по четности, так как число единиц в числе нечетно и равно 5. При таком кодировании допускается, что может возникнуть только одна ошибка. Очевидно, что если число содержит две ошибки (или вообще четное число ошибок) то его код по методу четности будет правильным. То же самое можно сказать и о кодировании по методу нечетности. Пример реализации метода четности представлен в следующей таблице.
Признак правильности равный 0 означает, что код числа правильный и 1 - неправильный. Такое кодирование не позволяет в случае появления ошибки определить какой именно разряд является ошибочным. Избыточность информации при таком кодировании минимальна и равна одному биту (один дополнительный разряд). Можно представить видоизмененный метод контроля по методу четности. Цифровые разряды двоичного числа разбиваются на группы, каждая из которых содержит одинаковое количество разрядов. Контрольные разряды добавляются к каждой группе по строкам и по столбцам. Например, для 9 разрядного числа это выглядит так.
Увеличение избыточности информации (вместо одного дополнительного разряда для 9 разрядного числа мы имеем 6 дополнительных разрядов) приводит к тому, что появляется возможность не только обнаружить наличие ошибки, но и место ее возникновения. Например, у следующего двоичного кода ошибочным является 6-й разряд.
Действительно, 2-я строка и 3-й столбец являются ошибочными, следовательно, неверный разряд находится на пересечении 2-й строки и 3-го столбца.
Для контроля правильности передачи информации, а также как средство шифрования информации используются различные коды. Коды, использующие для передачи информации два различных элементарных сигнала, называются двоичными. Эти сигналы удобно обозначать символами 0 и 1. Тогда кодовое слово будет состоять из последовательности нулей и единиц.
При выполнении арифметических операций в цифровом автомате правильный результат будет получен только в случае, если машина работает без нарушений. При возникновении какой-либо ошибки в двоичном коде результат операции будет неверным, однако пользователь об этом не узнает, если не будут предусмотрены меры, сигнализирующие о появлении ошибки. То есть должна быть разработана определенная система контроля работы цифрового автомата. Для этой цели и служат различные методы кодирования двоичной информации. Рассмотрим два возможных метода кодирования.
Как и в последнем варианте метода четности, коды Хэмминга позволяют не только обнаружить наличие ошибки, но и место ее нахождения и следовательно дают возможность ее исправить. Однако, в отличие от предыдущего методы, коды Хэмминга обладают меньшей избыточностью, т.е. количеством дополнительных контрольных разрядов.
Предположим, что имеется код, содержащий m информационных и k контрольных разрядов. Все разряды, включая контрольные, разбиваются на k групп по определенным правилам, о которых будет сказано ниже. Каждая группа, содержащая один контрольный разряд, проверяется на четность. Пусть были проведены все k проверок. Если результат данной проверки свидетельствует об отсутствии ошибки, то записывается 0, если есть ошибка, то записывается 1. В результате получается последовательность, состоящая из k нулей и единиц. При отсутствии ошибки в коде получается последовательность нулей. Полученное k-разрядное двоичное число может содержать 2k различных комбинаций нулей и единиц. С помощью этой информации нужно определить ошибочный разряд в коде, содержащем m+k разрядов. Для того, чтобы это было возможно должно выполняться неравенство:
2k ³ (m+k+1)
Определить максимальное значение m для данного k можно из следующей таблицы.
Из таблицы видно, для 16-ти разрядного числа требуется 5 контрольных разрядов. В качестве сравнения, в случае модифицированного метода четности потребовалось бы 8 контрольных разрядов. Позиции контрольных разрядов в методе Хэмминга определены заранее, это разряды 1,2,4,8,… Разряды, входящие в каждую группу проверки представлены в следующей таблице (1-й разряд в каждой группе является контрольным).
Из таблицы видно, что если например код Хэмминга содержит 9 разрядов, включая контрольные, то 1-я группа проверки содержит 1,3,5,7,9 разряды. 2-я группа проверки содержит 2,3,6,7 разряды. 3-группа проверки содержит 4,5,6,7 разряды и 4-я группа – 8,9 разряды. Каждой группе проверки приписывается 1, если проверка на четность обнаруживает ошибку и 0, если ошибки нет. Полученное двоичное число дает номер ошибочного разряда.
Рассмотрим в качестве примера 5-ти разрядное двоичное число 10011. В этом случае, как следует из вышеприведенной таблицы, 1-я группа проверки состоит из 1,3, и 5-го разрядов. 2-я группа проверки состоит из 2 и 3-го разряда. 3-я группа проверки состоит из 4 и 5-го разрядов. Результат проверки на четность 1-й группы дает 0 (101), проверка 2-й группы дает 0 (00), проверка 3-й группы дает 0 (11). Таким образом, данное число не содержит ошибки. Искусственно введем ошибку, заменив, например, 4-й разряд на 0. В этом случае 1, 2 и 3-я проверки дадут соответственно 0, 0, 1. Полученное двоичное число 100 дает номер ошибочного разряда, т.е. 4.
Вариант
Выполните задания
9-ти разрядное число закодировано по методу Хемминга. В одном из разрядов возможно присутствует ошибка. Если она есть, необходимо её исправить и записать исправленное число. Если ошибки нет, то запишите исходное число. Число: 111101001
Кодирование по методу чётности. Задано случайное число, цифровые разряды 0101100, контрольный разряд 1. Правильно ли записано число? (Если правильно ответе Да(с большой буквы), если нет, то соответственно Нет(с большой буквы)).
Вариант
Выполните задания:
9-ти разрядное число закодировано по методу Хемминга. В одном из разрядов возможно присутствует ошибка. Если она есть, необходимо её исправить и записать исправленное число. Если ошибки нет, то запишите исходное число. Число: 001100010
Кодирование по методу чётности. Задано случайное число, цифровые разряды 0001011, контрольный разряд 1. Правильно ли записано число? (Если правильно ответе Да(с большой буквы), если нет, то соответственно Нет(с большой буквы)).
Вариант
Выполните задания:
9-ти разрядное число закодировано по методу Хемминга. В одном из разрядов возможно присутствует ошибка. Если она есть, необходимо её исправить и записать исправленное число. Если ошибки нет, то запишите исходное число. Число: 001100010
Кодирование по методу нечётности. Задано случайное число, цифровые разряды 0100001, контрольный разряд 1. Правильно ли записано число? (Если правильно ответе Да(с большой буквы), если нет, то соответственно Нет(с большой буквы)).
Вариант
9-ти разрядное число закодировано по методу Хемминга. В одном из разрядов возможно присутствует ошибка. Если она есть, необходимо её исправить и записать исправленное число. Если ошибки нет, то запишите исходное число. Число: 011101000
Кодирование по методу нечётности. Задано случайное число, цифровые разряды 0101010, контрольный разряд 0. Правильно ли записано число? (Если правильно ответе Да(с большой буквы), если нет, то соответственно Нет(с большой буквы)).
Вариант
9-ти разрядное число закодировано по методу Хемминга. В одном из разрядов возможно присутствует ошибка. Если она есть, необходимо её исправить и записать исправленное число. Если ошибки нет, то запишите исходное число. Число: 100011100
Кодирование по методу чётности. Задано случайное число, цифровые разряды 1001000, контрольный разряд 0. Правильно ли записано число? (Если правильно ответе Да(с большой буквы), если нет, то соответственно Нет(с большой буквы)).
1533.02.01;ЭПТ2,04;1
Знакомство со способами кодирования информации. Использование программы inf___4.exe для выполнения упражнений по кодированию информации.
Рекомендуемое время
40 минут
Задание для проработки примера
Программа Inf4.exe предоставляет возможность выполнить упражнения по кодированию информации методом четности и методом Хэмминга. Для запуска программы сделайте двойной щелчок по ярлыку программы. На экране появится окно «Методы кодирования информации», имеющее следующий вид:
Пункт меню «кодирование по методу четности и методу Хэмминга» содержит следующие разделы:
· Кодирование по методу четности (тема-1)
· Кодирование по методу Хэмминга (тема-2)
· Самостоятельная работа
· Exit
При выборе любого из первых двух разделов меню открывается диалоговое окно, в котором предлагаются вопросы по выбранной теме. Число вопросов неограниченно. После каждого ответа дается правильный вариант ответа и показывается полное число заданных вопросов и количество правильных ответов. Рассмотрим работу с диалоговым окном по первой теме. Диалоговое окно в этом случае имеет следующий вид:
В диалоговом окне задано случайное двоичное число, состоящее из цифровых разрядов и контрольного разряда, с помощью которого происходит его кодирование по методу четности. Нужно определить присутствует или не присутствует ошибка в записи числа. Если число записано правильно, нужно поставить галочку во флажке «признак правильности записи числа». Затем нужно щелкнуть по кнопке «OK». Если число содержит ошибку, нужно просто щелкнуть кнопку «ОК». Проконтролировать правильность ответа можно по флажку «правильный ответ». Если ответ был правильным, счетчик правильных ответов увеличивается на единицу. Для перехода к следующему заданию нужно щелкнуть по кнопке «следующее число», при счетчик заданных вопросов увеличивается на единицу. Число заданий неограниченно. Что прервать работу с диалоговым окном, нужно щелкнуть по кнопке «Cancel» или по крестику в правом верхнем углу диалогового окна, при этом счетчик правильных ответов обнуляется.
Диалоговое окно, которое появляется при выборе пункта меню «кодирование по методу Хэмминга (тема-2)», имеет следующий вид.
В диалоговом окне предлагается найти и исправить одну ошибку (если она имеется) в 9-ти разрядном двоичном числе, закодированном по методу Хэмминга. Результат корректировки нужно записать в окно «исправленное число», после чего нажать кнопку «ОК». Если ответ правильный, счетчик правильных ответов увеличивается на единицу, при этом на экране появляется правильный вариант ответа. Далее нужно нажать кнопку «следующее число» и т.д. Работа с диалоговым окном завершается нажатием кнопки «Cancel» или щелчком по крестику в правом верхнем углу, при этом счетчик правильных ответов обнуляется.
Раздел меню «самостоятельная работа» содержит 3 подраздела:
· Тема-1
· Тема-2
· Число правильных ответов по каждой теме
При выборе каждого из первых двух подразделов появляются диалоговые окна, сходные с соответствующими диалоговыми окнами по каждой теме. Отличия заключаются в том, что число задаваемых вопросов фиксировано, правильные ответы не показываются и выход из самостоятельной работы осуществляется только при нажатии кнопки «следующее число», в случае, когда число заданных вопросов равно «общему числу вопросов». Только в этом случае счетчик правильных ответов не обнуляется. После выполнения самостоятельной работы по каждой из тем нужно щелкнуть подраздел меню «число правильных ответов по каждой теме», после чего на экране будет показан итоговый результат по каждой из тем.
Задание 1. С помощью программы “Inf4.exe” ответьте на несколько вопросов по 1-й и 2-й теме.
Тестирование
Как некоторое преобразование числовых данных в заданной системе счисления представляется задача
Коды Хэмминга являются
Коды, использующие для передачи информации два различных элементарных сигнала называют
Контрольный код числа образуется делением суммы цифр числа на выбранный модуль при методе контроля
Метод контроля, основанного на свойствах сравнений, называют контролем