![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
из С в паскаль [D7, XP]
malyar © (2007-10-04 14:15:00)всем привет
народ помогите перевести код с С подобного языка на паскаль.
есть команды на С
1 dy <<= 1;
2 dy - (dx >> 1);
3 fract += dx;
нужно их перевести на раскаль
homm (2007-10-04 22:17:00) [1]> [16] Anatoly Podgoretsky © (04.10.07 22:00)
> компилятор Дельфи часто заменяет деление и умножение
> на степень двойки именно сдвигом.
Это фигня, вот когда компилятор заменяет деление на операцию взятия адреса, вот тогда гордость берет :)
Anatoly Podgoretsky (2007-10-04 22:00:00) [2]> Галинка (04.10.2007 21:57:15) [15]
Можно и компилятор Дельфи часто заменяет деление и умножение на степень двойки именно сдвигом.
Архивирование сильно основано на битовой математики.
Галинка (2007-10-04 21:57:00) [3]Это понятно. В каких случаях нужна такая работа. Ну кроме архивирования? Может есть какая-то "битовая" математика? Кто-то тут писал, что типа умножение можно через сдвиг реализовать?
Anatoly Podgoretsky (2007-10-04 21:51:00) [4]> Галинка (04.10.2007 21:49:13) [13]
Для работы с битами
Галинка (2007-10-04 21:49:00) [5]А для чего нужны эти самые сдвиги?
Anatoly Podgoretsky (2007-10-04 21:30:00) [6]> palva (04.10.2007 20:52:11) [11]
Вообще то нет, я просто напоминаю недавнии споры по поводу +=
palva (2007-10-04 20:52:00) [7]
> Anatoly Podgoretsky © (04.10.07 14:25) [6]
> > homm (04.10.2007 14:17:01) [1]
> Кто то говорил, что там простой понятный синтаксис :-)
Опять про меня вспомнили. Тихим добрым словом.
malyar (2007-10-04 15:08:00) [8]спасибки всем
homm (2007-10-04 14:32:00) [9]Еше подвело знание, что для потоков ввода-вывода символы «<<» и «>>» перегружены, вот и подумал что здесь тоже.
homm (2007-10-04 14:28:00) [10]> [6] Anatoly Podgoretsky © (04.10.07 14:25)
> Кто то говорил, что там простой понятный синтаксис :-)
Разговор про арифметику был, коими выражениями я в PHP с успехом пользуюсь, а к таким закарюкам у меня глаз не привычен.
Инс (2007-10-04 14:25:00) [11]
> там же еще присваивание
А, вот оно что, спасибо, тогда ложная тревога...
Anatoly Podgoretsky (2007-10-04 14:25:00) [12]> homm (04.10.2007 14:17:01) [1]
Кто то говорил, что там простой понятный синтаксис :-)
DVM (2007-10-04 14:24:00) [13]
> но вроде бы левый сдвиг просто обозначался <<
там же еще присваивание
Инс (2007-10-04 14:23:00) [14]
> <<=
Честно скажу, что сишный синтаксис знаю плохо, но вроде бы левый сдвиг просто обозначался <<, а это может быть арифметический или циклический сдвиг? Нэ?
DVM (2007-10-04 14:19:00) [15]
> 1 dy <<= 1;
dy:= dy shl 1;
homm (2007-10-04 14:18:00) [16]А… понял :)
1) dy = dy shl 1;
homm (2007-10-04 14:17:00) [17]2) dy - (dx shr 1)
3) fract = fract + dx;
Первое — хрень какая-то, я такого не помню, вполне возможно, что прегруженный оператор.