Семь бит и два комплимента
Если для целых чисел мы используем двоичное двоичное представление, состоящее из двух двоичных чисел, то каково количество целых чисел (вещей), которое можно представить таким образом? Наименьшее (наиболее) отрицательное целое число, которое может быть представлено таким образом? Самое большое положительное целое число, которое может быть представлено таким образом?
- Это домашний вопрос CS, на который мне трудно ответить и объяснить. Любая помощь будет оценена.
3 ответа
Так что это действительно легко
Подсчет в двоичном коде обычно идет как
>00000000 (8) = 0
>00000001 (8) = 1
>00000010 (8) = 2
>00000011 (8) = 3
>etc...etc.
В 7 битах последний бит определяет, является ли он отрицательным или положительным
1 - отрицательный, 0 - положительный
> 10000000 = -128
> 10000001 = -127
> 10000010 = -126
> On...and on...
> 11111111 = -1
> 00000000 = 0
> 00000001 = 1
> 01111111 = 127
Так низко вы можете пойти -128
Самое высокое, что вы можете пойти, это 127
Для наибольшего положительного целого числа в дополнении до 2 используйте формулу (2^(n-1)-1) То есть (2^(7-1)-1)=63 Для наименьшего использования -2^n-1 То есть -2^7-1=-64
Утвержденный ответ неверен. С 7-битным дополнением до 2 он может находиться в диапазоне от -64 до 63. (традиционно 7 бит могут увеличиваться только до 2^n-1, что составляет 128, но MSB зарезервирован для знака, поэтому мы могли бы иметь 6 бит для представления данных. Мы получим 64 положительных и 63 отрицательных значения, и ответ должен быть -64, 63.)
Нет, потому что в дополнении до двух старший бит является битом знака. 0000001 - это +1, положительное число.
Вот почему диапазон 7-битных чисел с дополнением до двух составляет от -64 до 63, потому что 64 невозможно представить (в противном случае это было бы отрицательное число).
Самое отрицательное число - 1000000. Первая единица говорит вам, что оно отрицательное, и чтобы получить величину числа, вы переворачиваете все биты (0111111), а затем добавляете единицу (1000000 = 64). В результате получается число от -64 до 63.