Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

из С в паскаль [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;

Первое — хрень какая-то, я такого не помню, вполне возможно, что прегруженный оператор.


Наверх

Титульная страница Поиск, карта сайта Написать письмо