Разработчикам на C/Perl

kruzer25

Чему у вас равно (-3)%4 ?

karkar

-3 в С,
1 в Perl

kruzer25

Это в C?
А почему он так извращённо считает этот остаток?

karkar

Видимо, чтобы минус на плюс был минус..

kruzer25

В смысле?

karkar

Деление отрицательного на положительное.
А вообще, логика a = a/b + a%b

kruzer25

Деление отрицательного на положительное.
А причём тут деление, это же взятие остатка?
А вообще, логика a = a/b + a%b
Точнее, a = b*floor(a/b)+ a%b.
Вот и получается, что ответ должен быть 1, а нихрена не -3.

Oper

Нет. В C99 остаток имеет тот же знак, что и делимое. В C89 это было нерегламентировано.

kruzer25

И какого хрена они так сделали?

karkar

>Точнее, a = b*floor(a/b)+ a%b.
Нет, это уже другая логика.

Oper

А какого хрена в C массивы передаются по ссылке, тогда как все остальные типы по значению ?
// C — говно

vall

И какого хрена они так сделали?
потамучта так считают все продаваемые процессоры

kruzer25

А по какой такой логике
А вообще, логика a = a/b + a%b
?
По этой твоей логике, получается (при а=100, b=10) 100 = 100/10 + 100%10 = 10 + 0 = 10

karkar

Да, неправильно написал.
a = a/b*b + a%b.
Оставить комментарий
Имя или ник:
Комментарий: