| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Алгоритмы > алгоритм записи чисел в 32-х разрядную сетку |
| Автор: VingradFan 19.10.2006, 21:21 |
| ну собсна на простых примерах усё понятно ну а как поступить с этим: 0,(101)*10^11 если бы было 0,101*10^11 то: |0|0|0|0|0|0|1|1|1|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0| 1)вопрос в том как влияет период на форму записи 2)что делать если http://forum.vingrad.ru/index.php?showtopic=116027&view=findpost&p=894641 не влезает в 32 разряда? |
| Автор: maxim1000 19.10.2006, 22:58 |
| никто действительные числа в комьютере точно не хранит - это не представляется возможным сейчас (да и ближайшем будущем, ИМХО) при записи их просто обрезают тут три варианта: 1. запись как целого числа: тут всё просто - целая часть 0, значит, 0 2. запись действительного числа с фиксированной запятой: умножают на какую-нибудь степень двойки (зависит от того, сколько бит выделили на целую часть, а сколько на дробную) и сохраняют, как целое число 3. с плавающей запятой - умножают на степень двойки так, чтобы число было в [0.1,1), сохраняют эту степень (экспонента) и сколько поместится цифр после запятой (мантисса) на форуме, кстати, можно найти несколько вопросов типа: почему я пишу x=0.1, а он мне выводит 0.0999999999999... это всё оттуда... |