Вопросы и задания
1. Как в памяти компьютера представляются целые положительные и отрицательные числа?
В компьютере целые положительные и отрицательные числа представляются в двоичном коде в дополнительном коде. Дополнительный код для отрицательного числа получается путем инвертирования всех битов числа и прибавления 1.
2. Укажите, каков был бы диапазон значений целых чисел, если бы для их хранения использовалась четырехразрядная ячейка.
Для хранения целых чисел с использованием четырехразрядной ячейки доступно всего 16 различных двоичных комбинаций, так как каждый разряд может принимать значения 0 или 1. Из этих 16 комбинаций одна используется для представления нуля. Таким образом, остается 15 комбинаций, которые можно использовать для представления положительных и отрицательных чисел.
Если использовать знаковый (дополнительный) код для представления отрицательных чисел, то для хранения целых чисел в четырехразрядной ячейке будет доступен диапазон от -7 до 7. Например, двоичное число 0000 будет соответствовать десятичному числу 0, а двоичное число 1000 будет соответствовать десятичному числу -8, которое уже не может быть представлено в четырехразрядной ячейке с использованием знакового кода.
3. Запишите внутреннее представление следующих десятичных чисел, используя восьмиразрядную ячейку: а) 32; б)-32; в) 102; г )-102; д) 126; е)-126.
Восьмиразрядная ячейка может хранить целые числа в диапазоне от -128 до 127. Для того, чтобы записать целое число в ячейке, используется двоичное представление числа. Для положительных чисел это будет прямое двоичное представление числа, а для отрицательных - обратный код числа, после чего к нему добавляется единица.
Для числа 32 в двоичной системе счисления: 00100000. Для хранения числа 32 в ячейке используется это двоичное представление: 00100000. Для числа -32 в двоичной системе счисления: 11011111. Для хранения числа -32 в ячейке используется его обратный код: 10100000. Затем к обратному коду добавляется единица, чтобы получить дополнительный код: 10100001. Для числа 102 в двоичной системе счисления: 01100110. Для хранения числа 102 в ячейке используется это двоичное представление: 01100110. Для числа -102 в двоичной системе счисления: 10011010. Для хранения числа -102 в ячейке используется его обратный код: 01100101. Затем к обратному коду добавляется единица, чтобы получить дополнительный код: 01100110. Для числа 126 в двоичной системе счисления: 01111110. Для хранения числа 126 в ячейке используется это двоичное представление: 01111110. Для числа -126 в двоичной системе счисления: 10000010. Для хранения числа -126 в ячейке используется его обратный код: 01111101. Затем к обратному коду добавляется единица, чтобы получить дополнительный код: 01111110.
4. Определите, каким десятичным числам соответствуют следующие двоичные коды восьмиразрядного представления целых чисел. а )00010101; 6)11111110; в)00111111; г ) 10101010.
а) 00010101 = 02^7 + 02^6 + 02^5 + 12^4 + 02^3 + 12^2 + 02^1 + 12^0 = 0 + 0 + 0 + 16 + 0 + 4 + 0 + 1 = 21
б) 11111110 = 12^7 + 12^6 + 12^5 + 12^4 + 12^3 + 12^2 + 12^1 + 02^0 = 128 + 64 + 32 + 16 + 8 + 4 + 2 + 0 = 254
в) 00111111 = 02^7 + 02^6 + 12^5 + 12^4 + 12^3 + 12^2 + 12^1 + 12^0 = 0 + 0 + 32 + 16 + 8 + 4 + 2 + 1 = 63
г) 10101010 = 12^7 + 02^6 + 12^5 + 02^4 + 12^3 + 02^2 + 12^1 + 02^0 = 128 + 0 + 32 + 0 + 8 + 0 + 2 + 0 = 170