Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

[c++] Деление с остатком

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Веб-программинг] >> [c++] Деление с остатком
Имя
Сообщение << Старые топики   Новые топики >>
[c++] Деление с остатком - 2004-09-25 19:02:39   
alexei_II

Сообщений: 30
Оценки: 0
Присоединился: 2004-08-08 17:11:20
Что выполниться быстрее?
1. y = х % 10
или
2. y = х % 2
3. что-то другое
Post #: 1
[c++] Деление с остатком - 2004-09-25 21:44:03   
DeepThinker

Сообщений: 177
Оценки: 0
Присоединился: 2004-06-13 02:26:09
Безусловно x % 2. Любой оптимизирующий компилер сгенерит

test […], 1
jz …

, а вот х % 10 ты так уже не упростишь, придется делить.
Post #: 2
[c++] Деление с остатком - 2004-09-26 00:12:27   
alexei_II

Сообщений: 30
Оценки: 0
Присоединился: 2004-08-08 17:11:20
спасибо
Post #: 3
[c++] Деление с остатком - 2004-09-26 05:25:00   
rgo

Сообщений: 7170
Оценки: 281
Присоединился: 2004-09-25 05:14:25
Любой опитимизирующий пожалуй сгенерит (извиняй за AT&T синтаксис: боюсь в порядке операндов запутаться):

movl y, %reg
andl $0x1, %reg
movl %reg, y

vs.
movl y, %eax
divl $10
movl %edx, y
Post #: 4
[c++] Деление с остатком - 2004-09-26 05:28:22   
rgo

Сообщений: 7170
Оценки: 281
Присоединился: 2004-09-25 05:14:25
x%10 — это деление, x%2 — это x&0x1, оптимизирующий компилер это знает
А чтобы не возникало вопросов пиши
y = x & 0x1;
Post #: 5
[c++] Деление с остатком - 2004-09-26 12:07:27   
DeepThinker

Сообщений: 177
Оценки: 0
Присоединился: 2004-06-13 02:26:09
Ну да, точно. Мне че-то показалось, alexei_II написал if (x % 2). Ну короче, в любом выражении x % 2 вычисляется быстрее x % 10. И кстати, компилятор должен быть _очень_ тупым, чтобы не заменить на and, таким не следует вообще пользоваться. Так что x & 1 все-таки лучше не писать, не так очевидно.
Post #: 6
[c++] Деление с остатком - 2004-09-26 13:07:28   
alexei_II

Сообщений: 30
Оценки: 0
Присоединился: 2004-08-08 17:11:20
Ну компилятор MSVC++ 7.1, так что все нормально
Post #: 7
[c++] Деление с остатком - 2004-09-27 03:01:12   
rgo

Сообщений: 7170
Оценки: 281
Присоединился: 2004-09-25 05:14:25
gcc v.3.3.4 круче всех M$ продуктов вместе взятых.[sm=mad.gif]

[sm=9.gif]
Post #: 8
[c++] Деление с остатком - 2004-09-27 20:57:58   
DeepThinker

Сообщений: 177
Оценки: 0
Присоединился: 2004-06-13 02:26:09
Короче, Intel C++ все равно САМЫЙ крутой компилер для пентиумов.
Post #: 9
[c++] Деление с остатком - 2004-10-16 22:49:08   
***mR.PrOpEr***

Сообщений: 135
Оценки: 0
Присоединился: 2004-10-08 00:33:23
из всего вашего разговора я нихезп не понял
кто-нить мне объяснит про что идёт речь?
Post #: 10
[c++] Деление с остатком - 2004-10-16 23:17:40   
DeepThinker

Сообщений: 177
Оценки: 0
Присоединился: 2004-06-13 02:26:09
я уже в четвертой теме читаю твой пост с одинаковым вопросом: о чем идет речь? Может, тебе программирование изучить? ;)
Post #: 11
Страниц:  [1]
Все форумы >> [Веб-программинг] >> [c++] Деление с остатком







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.