- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
// Преобразует целое десятичное число (как вариант представления двоичного числа) в вещественное
Функция ПреобразоватьВЧисло(Знач ДесятичноеЧисло = 0, Точность = 1) Экспорт
СчБитов = 0;
Мантисса = 1;
Экспонента = ?(Точность = 2, -1023, -127);
Знак = 1;
ГраницаМантиссы = ?(Точность = 2, 52, 23);
ГраницаЭкспоненты = ?(Точность = 2, 63, 31);
Пока ДесятичноеЧисло >= 1 Цикл
Частное = Цел(ДесятичноеЧисло / 2);
Остаток = ДесятичноеЧисло % 2;
Если СчБитов < ГраницаМантиссы Тогда
Мантисса = Мантисса + Остаток * Pow(2, СчБитов - ГраницаМантиссы);
ИначеЕсли СчБитов < ГраницаЭкспоненты И СчБитов > ГраницаМантиссы - 1 Тогда
Экспонента = Экспонента + Остаток * Pow(2, СчБитов - ГраницаМантиссы);
Иначе
Знак = ?(Остаток = 1, -1, 1);
КонецЕсли;
ДесятичноеЧисло = Частное;
СчБитов = СчБитов + 1;
КонецЦикла;
Возврат Знак * Мантисса * Pow(2, Экспонента);
КонецФункции
TamerlanDE 18.05.2013 01:05 # 0
http://en.wikipedia.org/wiki/Double-precision_floating-point_format
orion 18.05.2013 01:25 # +1
TamerlanDE 18.05.2013 01:32 # 0
tirinox 18.05.2013 12:49 # +5
vistefan 18.05.2013 12:56 # +5
Soul_re@ver 18.05.2013 13:23 # +2
http://translate.google.com/#en/ru/Pow ?
orion 18.05.2013 13:39 # −2
Soul_re@ver 18.05.2013 14:38 # 0
По видимому у вас не работает тэг «сарказм»
TamerlanDE 18.02.2016 23:01 # 0
Наконец-то!!!
3_14dar 19.02.2016 01:04 # 0
Блядь, сделайте меня развидеть. Еще лет через 10 они введут using.
bormand 19.02.2016 06:50 # 0
С жабы что ли всё посодрали?