|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Окт 5, 2004 17:44:35 как переводить целые счисла из десятичной системы счисления в двоичную понятно. делим на 2 и записываем 0, а если остаток - 1, а потом пишем в обратном порядке имеем число. а как перевести такое число как 2.5 или 33.8 ? т.е. с точкой. да и записать его как 32-битное. думаю вопрос эхотажен. |
|
|
Дата: Окт 6, 2004 09:22:05 · Поправил: leo "элементарно, Ватсон", т.к. двоичная и десятичная системы отличаются только основанием: 2 вместо 10. Например, возьмем "удобное" для двичной системы число 33.75 В десятичной системе это: 30+3+0.7+0.05 = 3*(10^1)+3*(10^0)+7*(10^-1)+5*(10^-2) А в двоичной соответственно: 32+1+0.5+0.25 = 1*(2^5)+1*(2^0)+1*(2^-1)+1*(2^-2) = 100001.11 Число 33.8 для двоичной системы является "неудобным", как например 100/3 = 33.3(3) для десятичной, т.к. не может быть представлено конечным числом знаков после запятой и 33.8 для двоичной системы это 100001.1100(1100). Записываются вещественные числа в экспоненциальном виде в соответствии со стандартом IEEE Standard 754 (32, 64 и 80 бит, подробнее см. IA-32, ч.1). Суть такова: старший бит - знак числа, затем фиксированное число бит отводится на двоичный порядок и младшие биты - это мантисса. (На самом деле все несколько хитрее - порядок записывается в смещенном виде и для экономии разрядов старший бит мантиссы для 32 и 64 бит считается равным 1 и в мантиссе не хранится). |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.069 |