елементарен въпрос

3 отговора 267 прегледа
#1

елементарен въпрос

много се извинявам, ама ако някои може да ми преведе
следните два С операции:

Param | = (VALUE)

Param ^= (VALUE & Size)


става въпрос за |= и ^=, другото мисля, че е "и"

Отговор
в отговор на delphi #2

Re: елементарен въпрос

Param |= (value) - взима се стойността на param, прави се побитово ИЛИ и резултата отново се записва в Param. Може да ти е полезно, ако value съдържа един или няколко флага, които искаш да вдигнеш, а в Param пазиш текущите стойности на флаговете.

Param ^= (VALUE & Size) - подобно на горното, но ^ е изключващо ИЛИ. При горната аналогия, обръщаш стойностите на флаговете, за които битовете от израза (VALUE & Size) имат стойност 1. (Value & Size) наистина е побитово И, но не се сещам каква е ползвата от операцията ... може би Size съдържа 1 на значещите места на VALUE.

Отговор
в отговор на Masklin #3

Re: елементарен въпрос

мерси много.
имало още хора в тая държава.

Отговор
в отговор на Masklin #4

Re: елементарен въпрос

Логическото И служи за изчистване на битове - ако битът е 1 се запазва старата стойност, ако е 0 се изчиства в 0. Противоположно на ИЛИ-то

Целта оправдава средствата
Отговор