Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.10.20;
Скачать: CL | DM;

Вниз

И опять Числа   Найти похожие ветки 

 
Alexious ©   (2003-10-06 09:41) [0]

подскажите пожаелуйста как сместить разряды числа не деля и не умножая его. Например 0,12 -> 12 84->0.084


 
Radionov Alexey ©   (2003-10-06 09:43) [1]

операции битового сдвига, складывать и вычитать можно?


 
Digitman ©   (2003-10-06 09:45) [2]

никак


 
Radionov Alexey ©   (2003-10-06 09:47) [3]

>Digitman © (06.10.03 09:45) [2]
процессор 8088 делить "не умел".


 
pasha_676 ©   (2003-10-06 09:56) [4]

А если посмотреть формат и попробывать прибавлять-вычитать (логическими операциями) к порядку числа.


 
Digitman ©   (2003-10-06 10:10) [5]


> Radionov Alexey


ну и что из этого ?

операции умножения/деления эмулировались программно - лог.операции, сложение/деление с переносом, сдвиг и т.п.

соврем. CISC-процессоры и теперь делают то же самое, но на уровне микрокода

я имел ввиду, что бессмысленно эмулировать данную арифм.операцию своими силами, в то время как FPU во многих случаях сделает это гораздо эффективней


 
Radionov Alexey ©   (2003-10-06 10:14) [6]

>Digitman © (06.10.03 10:10) [5]
Это замечание было к "никак".
С "имел ввиду" совершенно согласен :)


 
Digitman ©   (2003-10-06 10:15) [7]

в любом случае операции с мантисой потребуют умножения/деления... заниматься ли ерундой а-ля программная эмуляция целочисленных mul/div с мантисой ?


 
Alexious ©   (2003-10-06 16:13) [8]

Нет ни складывать не вычитать. Просто сместить запятую нужно.


 
Digitman ©   (2003-10-06 16:23) [9]

преобразуй числовое значение в строковое представление (FormatFloat)

"выковыряй" из полученной строки "запятую"

"вставь" ее ("запятую") в нужную символьную позицию строки, "растянув" строку при необходимости в ту или иную сторону и заменив образующиеся пробелы символом "0"

преобразуй полученную строку в числ.значение (StrToFloat)

всех делов)

только вот все при этом будет задействовано : и умножение и деление ... разве что неявно, скрыто от тебя)


 
Palladin ©   (2003-10-06 17:12) [10]

А вообще откуда такое ограничение возникло?


 
Alexious ©   (2003-10-07 12:52) [11]

Просто понадобилось запятую швырять с неизвестным значением целой и дробной части X,Y


 
Anatoly Podgoretsky ©   (2003-10-07 12:57) [12]

Если значение неизвестно, то неизвестно куда швырять, если же просто переместить символ в строке, то Delete/Insert


 
Плохиш_   (2003-10-07 12:58) [13]

>Alexious © (07.10.03 12:52) [11]

А можно ещё раз, помедленнее и по-русски?


 
Alexious ©   (2003-10-07 13:55) [14]

в том то и дело. Куда переместить запятую указывает пользователь.
Я уже сделал Delete/Insert спасибо!


 
Digitman ©   (2003-10-07 14:53) [15]


> Alexious


так мы и не поняли, зачем эта свистопляска со "швырянием запятой" без явных операций деления/умножения



Страницы: 1 вся ветка

Текущий архив: 2003.10.20;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.018 c
3-65335
kosm
2003-09-26 12:20
2003.10.20
Класс


1-65472
webpauk
2003-10-08 17:10
2003.10.20
PopupMenu Height


1-65445
Дмитрий
2003-10-07 15:16
2003.10.20
Стать на последний элемент в ListView


9-65308
lutik
2003-04-16 12:10
2003.10.20
Рисование на чужих окнах


1-65436
WondeRu
2003-10-03 16:29
2003.10.20
C++