spamsink: (Default)
[personal profile] spamsink
Знаете ли вы, что в языке Си одно время были операторы /\ и \/ ? Если нет, то угадайте, что они делали. Смотрите не перепутайте.

Комменты скринятся.

Подсказка: функциональность, предоставляемая этими операторами, в общем случае не может быть реализована с помощью макросов.

Подсказка 2: операторы применимы ко всем базовым типам.

[livejournal.com profile] kcmamu, наконец, угадал. Кто-нибудь еще?

Вторым никто быть не захотел. Вот кусок кода компилятора:
        case BSLASH:
                if (subseq('/', 0, 1))
                        return(MAX);
                goto unkn;

        case DIVIDE:
                if (subseq('\\', 0, 1))
                        return(MIN);
                if (subseq('*',1,0))
                        return(DIVIDE);
                ...

Date: 2006-10-23 01:08 am (UTC)
From: [identity profile] gmz.livejournal.com
<< и >> ?

Date: 2006-10-23 01:51 am (UTC)
From: [identity profile] ygam.livejournal.com
&& и || ?

Date: 2006-10-23 01:55 am (UTC)
From: [identity profile] kcmamu.livejournal.com
&& и || ?

Date: 2006-10-23 03:11 am (UTC)
From: [identity profile] gmz.livejournal.com
Вторая попытка: возведение в степень и извлечение корня?

Date: 2006-10-23 05:44 am (UTC)
From: [identity profile] cema.livejournal.com
Нет, я этого не знал. Разное целочисленное деление, может быть?

(Комменты не скринятся.)

Date: 2006-10-23 05:59 am (UTC)
From: [identity profile] kcmamu.livejournal.com
Сравнение битовых векторов?
Конъюнкция/дизъюнкция всех битов?

Date: 2006-10-23 06:38 am (UTC)
From: [identity profile] kcmamu.livejournal.com
x /\ y -- вероятно, то же, что (x & y) == y
x \/ y -- вероятно, то же, что (x & y) == x

Date: 2006-10-23 07:05 am (UTC)
From: [identity profile] kcmamu.livejournal.com
Еще версия:
x /\ n означает x | (1 << n)
x \/ n означает x & ~(1 << n)

Date: 2006-10-23 07:57 am (UTC)
From: [identity profile] kcmamu.livejournal.com
Тогды сдаюсь. Или max и min?
Page generated Mar. 6th, 2026 04:24 am
Powered by Dreamwidth Studios