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

Вниз

Деление   Найти похожие ветки 

 
M-Alex   (2004-09-22 15:41) [0]

Можноли делить числа в Delphi  без div чтобы с остатком и без использования mod


 
Reindeer Moss Eater ©   (2004-09-22 15:42) [1]

Конечно можно.


 
Суслик ©   (2004-09-22 15:42) [2]

сам понял, что спросил?


 
Sha ©   (2004-09-22 15:43) [3]

на 2^n


 
Anatoly Podgoretsky ©   (2004-09-22 15:43) [4]

Можно, это математика второго класса.


 
Суслик ©   (2004-09-22 15:44) [5]

Все правда поняли, что он спросил?


 
Reindeer Moss Eater ©   (2004-09-22 15:46) [6]

А что здесь непонятного?


 
Reindeer Moss Eater ©   (2004-09-22 15:48) [7]

Чел хочет:
- делить
- не использовать div
- знать остаток
- не использовать mod

Это возможно. Разве не очевидно?


 
Sha ©   (2004-09-22 15:48) [8]

> Суслик ©   (22.09.04 15:44) [5]
> Все правда поняли, что он спросил?

Ответ зависит от того, понял ли ты :)


 
Суслик ©   (2004-09-22 15:50) [9]


>  [7] Reindeer Moss Eater ©   (22.09.04 15:48)

да, наверное это он и спрашивал


 
Суслик ©   (2004-09-22 15:51) [10]


> [8] Sha ©   (22.09.04 15:48)
> > Суслик ©   (22.09.04 15:44) [5]
> > Все правда поняли, что он спросил?
>
> Ответ зависит от того, понял ли ты :)

не понял, к чему это
Я про то и говорю, что вопрос не понял и удивляюсь, что вы все поняли.


 
Sha ©   (2004-09-22 15:54) [11]

Суслик ©   (22.09.04 15:51) [10]
Возможно при помощи 2-х умножений или комбинаций shr/and в простейшем случае.


 
Sandman25 ©   (2004-09-22 15:55) [12]

X - Trunc(X/Y)*Y


 
Sha ©   (2004-09-22 15:56) [13]

Sandman25 ©   (22.09.04 15:55) [12]
Это можно провернуть и в целочисленной арифметике


 
Суслик ©   (2004-09-22 15:58) [14]


>  [11] Sha ©   (22.09.04 15:54)


> Возможно при помощи 2-х умножений или комбинаций shr/and
> в простейшем случае.

да не спорю я ни с чем :)))
вопрос бы понять :))


> Можноли делить числа в Delphi  без div чтобы с остатком
> и без использования mod

Вот эту комбинацию слов фик поймешь - если человек хочет делить без использования mod, то он значит умеет делить с использованием mod. Я так например не умею :((


 
Sha ©   (2004-09-22 16:01) [15]

Суслик ©   (22.09.04 15:58) [14]
Перестановкой слов получаем:
Можноли делить с остатком числа в Delphi без использования div и mod
Все понятно :)


 
Sandman25 ©   (2004-09-22 16:06) [16]

[13] Sha ©   (22.09.04 15:56)

На Паскале?


 
Суслик ©   (2004-09-22 16:07) [17]


>  [15] Sha ©   (22.09.04 16:01)

О великий комбинатор :))) Опыт...
Тогда правда все понятно :))


 
Sha ©   (2004-09-22 16:09) [18]

Sandman25 ©   (22.09.04 16:06) [16]

Да, если Y известен в момент компиляции.
В противном случае все несколько усложняется.


 
Sandman25 ©   (2004-09-22 16:11) [19]

[18] Sha ©   (22.09.04 16:09)

Можно примеры для обоих случаев? Или хотя бы идею.


 
TUser ©   (2004-09-22 16:12) [20]

Для усложенения жизни можно порекомендовать вот такой алгоритм. Тут все только плюс и минус.

A:=делимое
B:=делитель

C:=B; C1:=0;
while A >= B do begin
A:=A+C1-C;
C1:=C
C:=C+C;
end;
if A < 0 then
  A:=A+C1;
while A >= B do
  A:=A-B;
A = остаток


 
Sandman25 ©   (2004-09-22 16:16) [21]

[20] TUser ©   (22.09.04 16:12)

Такое нахождение остатка очевидно. Но очевидно и то, что оно неэффективно.


 
Sha ©   (2004-09-22 16:19) [22]

> Sandman25 ©   (22.09.04 16:11) [19]
> Можно примеры для обоих случаев? Или хотя бы идею.

Идей всего 3: умножение на "обратное", сдвиги, деление столбиком.
Первое хорошо описано у Agner Fog http://www.agner.org/assem


 
Sandman25 ©   (2004-09-22 16:21) [23]

[22] Sha ©   (22.09.04 16:19)

Спасибо. Примерно понятно.


 
Anatoly Podgoretsky ©   (2004-09-22 16:29) [24]

Что то вас понесло, вспомните школу


 
DiamondShark ©   (2004-09-22 17:10) [25]

Ну и наконец, мой любимый вопрос: А зачем?


 
Anatoly Podgoretsky ©   (2004-09-22 17:13) [26]

DiamondShark ©   (22.09.04 17:10) [25]
В России учеба началась


 
Sha ©   (2004-09-22 23:10) [27]

> DiamondShark ©   (22.09.04 17:10) [25]
Умножение быстрее деления.


 
Zhekson   (2004-09-22 23:25) [28]


var
 a,b,c: real;
begin
c := a / b;
end;


это мой вариант 100% рабочего ответа, но опять же - если я правильно вопрос понял.


 
Zhekson   (2004-09-22 23:32) [29]

Всё M-Alex, говори спасибо. Делим без div, c остатком и не используем mod.



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

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

Наверх




Память: 0.53 MB
Время: 0.023 c
1-1096061325
Ivanov
2004-09-25 01:28
2004.10.10
"Свернуть" окно программы


9-1085024752
Hater
2004-05-20 07:45
2004.10.10
Сохранение игры


1-1096268077
Kniaz
2004-09-27 10:54
2004.10.10
Код приложения?????????????


4-1094199505
Fktrc
2004-09-03 12:18
2004.10.10
Семафоры


3-1094813399
Vilkkkka
2004-09-10 14:49
2004.10.10
Firebird &amp; Interbase