что означает (x << 13) ^ x? - PullRequest
       4

что означает (x << 13) ^ x?

2 голосов
/ 23 апреля 2011

На каком языке это выражение и что оно означает?

x = (x << 13) ^x;

Ответы [ 5 ]

5 голосов
/ 23 апреля 2011

Это может быть любое количество языков. В C и некоторых других языках << - это оператор влево , а ^ - побитовый оператор XOR .

3 голосов
/ 23 апреля 2011

В C это будет "сдвиг влево на 13 двоичных разрядов, и возьмем XOR этого и x".

3 голосов
/ 23 апреля 2011

Оба << и ^ (сдвиг влево и xor соответственно) являются побитовыми операторами, и многие языки, такие как C, C ++, Java имеют их

http://en.wikipedia.org/wiki/Operators_in_C_and_C%2B%2B#Bitwise_operators

1 голос
/ 24 апреля 2011

Это любой язык, производный от C.

Это означает, что автор знает только часть C. В противном случае они написали бы

 x ^= x << 13;

, чтобы xor что-то с умножением себяна 2¹³.

0 голосов
/ 24 апреля 2011

На каком языке это выражение

Это синтаксис языка C.Это может быть любой язык программирования на основе C (C, C ++, C #, Java, JavaScript).Однако это не PHP или Perl, потому что сигилы не используются.

что это значит?

Я на самом деле тоже не могу прочитать этот код - синтаксические языки такиекак C очень трудно читать.Из того, что я понимаю из того, что говорили другие люди, это эквивалентно:

(bit-xor (bit-shift-left x 13) x)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...