![]() |
|
|
![]()
|
|
| Chingachguk |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1232 Регистрация: 25.3.2002 Где: Москва Репутация: 1 Всего: 18 |
Да ладно ;) Вот вопрос на засыпку: typedef unsigned char byte; typedef unsigned long u32; ... u32 x; byte key[4] = {0x01,0x02,0x03,0x04} ... x = key[0] << 24 | key[1] << 16 | key[2] << 8 | key[3]; А теперь вопрос: что будет в результате в x ? ;) -------------------- I don't like the drugs (but the drugs like me). M.Manson. |
|||
|
||||
| Dexter |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1562 Регистрация: 2.7.2002 Где: Москва, Бирюлево Репутация: нет Всего: 4 |
Че-то я нихрена не понял:
typedef unsigned char byte; typedef unsigned long u32; Это че-то из C++ (наверно) (я сним не в таких ладах чтобы понять это) u32 x; byte key[4] = {0x01,0x02,0x03,0x04} первая строка незнаю че делает, вторая походу массив (наверно) x = key[0] << 24 | key[1] << 16 | key[2] << 8 | key[3]; Это я ваще не знаю че такое. -------------------- The only thing you really know about me is... ...that's all you'll ever know |
|||
|
||||
| neutrino |
|
|||
![]() Gothic soul ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 3041 Регистрация: 25.3.2002 Где: Верхняя Галилея, Кармиэль Репутация: нет Всего: 62 |
Да, я тоже сначала пытался это "прочитать". А там этих строк ой-ой-ой!!! Не разобрать. Дело в том, что << имеет больший приоритет чем |. А |, в свою очередь, берет то что справа сначала!!! Чтобы эту строку анализировать надо запустить рекурсивный алгоритм В конце получится 772 (честно говоря, я проверил, но посмотрел и код). Для особо заинтересованных: скомпилируйте это и через td откройте файл. 2Chingachguk: Так как дела с прогой? -------------------- The truth comes from within ... Покойся с миром, Vit |
|||
|
||||
| Chingachguk |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1232 Регистрация: 25.3.2002 Где: Москва Репутация: 1 Всего: 18 |
> neutrino Дата сообщения: 11.11.2002,16:39
> Да, я тоже сначала пытался это "прочитать". А там этих строк ой-ой-ой!!! > Не разобрать. Не, написано как раз все понятно. > Дело в том, что << имеет больший приоритет чем |. А |, в свою очередь, > берет то что справа сначала!!! Чтобы эту строку анализировать надо > запустить рекурсивный алгоритм . Я не смотрел особо, какой-такой приоритет, я от смысла шел. А по смыслу должно быть 0x01020304. > В конце получится 772 (честно говоря, я проверил, но посмотрел и код). Вот видишь ! Ты чем компилил ? Я - bc.310. В ассемблерном листинге было видно, что код ОТРЕЗАЕТ старшие два байта результата промежуточных вычислений: генерит что-то вроде: shl ax,24 // !!! Даже если делать в явном виде указание: (u32)key[0]<<24, то код(ассемблерный) меняется, но этого ... недостаточно !!! > Для особо заинтересованных: скомпилируйте это и через td откройте файл. А самое смешное в этом СИ то, что все это в VC(винды)... работает ! А все потому, что там 32 разряда. Вообще специалист по СИ(работает рядом со мной) говорит, что скорее ВЕРНО РАБОТАЕТ именно bc - те не работает... Потому, как по правилам (?) результат должен приводиться (если явно не указано) к наименьшему типу ! > 2Chingachguk: Так как дела с прогой? Пока особо никак ;( Работа почему-то мешает ;) -------------------- I don't like the drugs (but the drugs like me). M.Manson. |
|||
|
||||
| Kesh |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Эксперт Сообщений: 2488 Регистрация: 31.7.2002 Где: Германия, Saarbrü cken Репутация: нет Всего: 54 |
Нашел по F1 в Делфи... :0) Или я не понял вопроса...
Draws the ellipse defined by a bounding rectangle on the canvas. procedure Ellipse(X1, Y1, X2, Y2: Integer); overload; procedure Ellipse(const Rect: TRect); overload; Description Call Ellipse to draw a circle or ellipse on the canvas. Specify the bounding rectangle either by giving The top left point at pixel coordinates (X1, Y1) and the bottom right point at (X2, Y2). A TRect value. If the bounding rectangle is a square, a circle is drawn. The ellipse is outlined using the value of Pen, and filled using the value of Brush. Note: On Windows 95, the sums X1 + X2 and Y1 + Y2 cannot exceed 32768. Also, the sum X1 + X2 + Y1 + Y2 cannot exceed 32768. -------------------- ![]() |
|||
|
||||
| Dexter |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1562 Регистрация: 2.7.2002 Где: Москва, Бирюлево Репутация: нет Всего: 4 |
Не, вопрос был немного не в этом. Эти процедуры я знаю я спросил как они работают, т.е. как в принципе рисуется эллипс (да еще так быстро).
-------------------- The only thing you really know about me is... ...that's all you'll ever know |
|||
|
||||
| MuToGeN |
|
|||
![]() Лесник ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4379 Регистрация: 15.8.2002 Где: Москва Репутация: нет Всего: 32 |
насколько я понял тот алгоритм без тригонометрии, то
еще такой вопрос появился - как нарисовать эллипс, вытянутый (сжатый) не парралельно осям, а например по прямой y=x? -------------------- Three pings for the token rings, Five pings for the UNIX machines, Hundred pings for the broken links, One special ping to check them all Through Simple Network Management Protocol! |
|||
|
||||
| Chingachguk |
|
||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1232 Регистрация: 25.3.2002 Где: Москва Репутация: 1 Всего: 18 |
Ага ;)
В смысле - повернутый на угол относительно осей ? Подумаю об этом ;) -------------------- I don't like the drugs (but the drugs like me). M.Manson. |
||||
|
|||||
| MuToGeN |
|
|||
![]() Лесник ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4379 Регистрация: 15.8.2002 Где: Москва Репутация: нет Всего: 32 |
во-во -------------------- Three pings for the token rings, Five pings for the UNIX machines, Hundred pings for the broken links, One special ping to check them all Through Simple Network Management Protocol! |
|||
|
||||
| neutrino |
|
|||
![]() Gothic soul ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 3041 Регистрация: 25.3.2002 Где: Верхняя Галилея, Кармиэль Репутация: нет Всего: 62 |
А нельзя использовать формулы поворота с тригонометрией?
2Chingachguk: А прогу я компилил сначала на VС а потом на ВС. Что-то я наглючился так, что потом на екзамене по SQL писал всякие сдвиги таблиц -------------------- The truth comes from within ... Покойся с миром, Vit |
|||
|
||||
| MuToGeN |
|
|||
![]() Лесник ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4379 Регистрация: 15.8.2002 Где: Москва Репутация: нет Всего: 32 |
IMHO с целочисленными матрицами оно как-то не так будет -------------------- Three pings for the token rings, Five pings for the UNIX machines, Hundred pings for the broken links, One special ping to check them all Through Simple Network Management Protocol! |
|||
|
||||
| Dexter |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1562 Регистрация: 2.7.2002 Где: Москва, Бирюлево Репутация: нет Всего: 4 |
2 исходника которые давал MuToGeN работают, но в первом чем больше радиус тем дальше точки друг от друга, во втором он мне рисует вообще точек 10.
-------------------- The only thing you really know about me is... ...that's all you'll ever know |
|||
|
||||
| MuToGeN |
|
||||
![]() Лесник ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4379 Регистрация: 15.8.2002 Где: Москва Репутация: нет Всего: 32 |
в первом тебе надо уменьшить шаг в цикле, во втором - в строке
-------------------- Three pings for the token rings, Five pings for the UNIX machines, Hundred pings for the broken links, One special ping to check them all Through Simple Network Management Protocol! |
||||
|
|||||
| Chingachguk |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1232 Регистрация: 25.3.2002 Где: Москва Репутация: 1 Всего: 18 |
Как говорят китайцы, дорога в тысячу миль начинается с 1 шага ;))) Там есть прикольный барьер, не знаю, налетел ли ты на него ... -------------------- I don't like the drugs (but the drugs like me). M.Manson. |
|||
|
||||
![]()
|
| Правила форума "Алгоритмы" | |
|
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Алгоритмы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |