Что делает |и << значит? - PullRequest
       3

Что делает |и << значит?

5 голосов
/ 03 февраля 2011

Извините, если это распространенный вопрос, но я не знаю, как он называется, поэтому мне сложно его найти.

Как это работает:

view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;

Я понимаю, что это означает, что представление получает как гибкую ширину, так и высоту, но как в нем хранятся две переменные?

Если я посмотрю на typedef для UIViewAutoresizing, он будет выглядеть так:

enum {
    UIViewAutoresizingNone                 = 0,
    UIViewAutoresizingFlexibleLeftMargin   = 1 << 0,
    UIViewAutoresizingFlexibleWidth        = 1 << 1,
...

Итак, как одна переменная может хранить более одного значения, как это?

Ответы [ 2 ]

6 голосов
/ 03 февраля 2011

"|"является побитовым 'или'.

"<<" также является побитовой операцией сдвига.он сдвигает все биты влево: </p>

00100 << 1 = 01000

Прочитайте вики , вас интересуют "или" и операции сдвига.

3 голосов
/ 03 февраля 2011

Это операторы битового уровня C.

| - двоичный код или: 0001 |0010 = 0011.

<< - битовый сдвиг: 0001 << 1 = 0010. </p>

Они используются для битовых масок .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...