Интернет магазин китайских планшетных компьютеров |
|
Компьютеры - Битовое поле - Операции над знаковыми полями в дополнительном коде23 января 2011Оглавление: 1. Битовое поле 2. Операции над многобитовыми полями 3. Операции над однобитовыми полями 4. Операции над знаковыми полями в дополнительном коде 5. Объявления битовых полей Существуют два способа хранения отрицательных целых чисел знаковый бит и дополнительный код. В подавляющем большинстве современных машин применяется второй. При записи отрицательных чисел дополнительным кодом имеем: -1 = 11111111b -2 = 11111110b -3 = 11111101b -4 = 11111100b и т. д. Считаем, что поля c и d имеют именно такой формат. Тогда поле c может хранить числа от −2=102 до 1=012, а поле d от −8=10002 до 7=01112. Сборка и замена чиселКаждое из слагаемых, чтобы оно не испортило более старшие разряды, требуется умножать на битовую маску соответствующей длины. В частности: x = + << 2) + + a Извлечение чиселДля извлечения чисел требуется сдвинуть поле на нужное количество битов вправо, заодно размножив знаковый бит. Например, для этого можно воспользоваться арифметическим сдвигом. Если x имеет длину 8 битов, то c = >>a 6 d = x >>a 4 Внимание! В языке программирования Java всё наоборот: знаком Если арифметического сдвига нет, то… c1 = x >> 2 если то c = c1 | 0x11111100b иначе c = c1 & 0x00000011b Просмотров: 4246
|