2004-gre-cs-practice-book.pdf/Q22
Материал из DISCOPAL
Вопрос: Q22-4c9f66
Согласно стандарту IEEE, 32-разрядное число с плавающей запятой одинарной точности N определяется как
где S — знаковый бит, F — дробная мантисса, а E — смещенный показатель степени
Число с плавающей запятой хранится в формате S : E : F, где S, E и F хранятся в 1 бите, 8 битах и 23 битах соответственно.
Каково десятичное значение числа с плавающей запятой C1E00000 (шестнадцатеричная система счисления)?
Ответы
- 26
- −15
- −26
- Правильный ответ: −28
- −59
Объяснение
Ну, считаем поля на глаз:
b_ = bin(0xC1E00000)[2:] S = b_[:1] E = b_[1:9] F = b_[10:] S, E, F
('1', '10000011', '1000000000000000000000')
Видно, что-то отрицательное,
Показатель 4.
print(0b10000011-127)
print(0b1000000000000000000000) … 2097152
1.2097152**4 = 2.1415713601250426
Надо разобраться, где-то накосячил.
Исходники — вопрос 22 на 21 странице книги «2004-gre-cs-practice-book.pdf»
[ Хронологический вид ]Комментарии
Войдите, чтобы комментировать.