ATNEL tech-forum https://forum.atnel.pl/ |
|
Wynik pewnej operacji bitowej https://forum.atnel.pl/topic23928.html |
Strona 1 z 1 |
Autor: | krawi92 [ 21 wrz 2021, o 19:49 ] |
Tytuł: | Wynik pewnej operacji bitowej |
Hejka, mam pewnie pytanie. Otóż co jakiś czas zdarza mi się w kodzie popełnić "czeski" błąd przy operacji &=~ i wstawi mi się podwójna tylda. Kompilator nic nie krzyczy, a program wtedy naprawdę się dziwnie zachowuje, przez co długo dochodzę co się właściwie dzieje. I stąd pytanie z ciekawości, jak rozumieć operacje np PORTD &=~~(1<<6)? To równoważne bedzie z zapisem &=? |
Autor: | moscow [ 21 wrz 2021, o 20:32 ] |
Tytuł: | Re: Wynik pewnej operacji bitowej |
krawi92 napisał(a): [...] jak rozumieć operacje np PORTD &=~~(1<<6)? To równoważne bedzie z zapisem &=? Jeśli dobrze zrozumiałem pytanie - to generalnie tak. język c Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod. Zapis taki jak wyżej będzie równoważny język c Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod. lub też po prostu język c Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod. idąc po kolei czyli po kolei (1 << 6) => 0b01000000 ~(1 << 6) => 0b10111111 ~(~(1 << 6)) => 0b01000000 finalnie |
Autor: | krawi92 [ 21 wrz 2021, o 21:47 ] |
Tytuł: | Re: Wynik pewnej operacji bitowej |
Zastanawialo mnie to, poniewaz wczoraj w jednym z makr wkradlo mi sie cos takiego, 4 piny sterowaly 2 silnikami, pod jeden z nich podlaczylem klawisz, ktory dzialal jak chcial,a wszystko bylo na 1 porcie. Nie moglem dojsc do ładu, czy to wina programu czy sprzętu. |
Autor: | mario2015 [ 21 wrz 2021, o 21:56 ] |
Tytuł: | Re: Wynik pewnej operacji bitowej |
A dlaczego kompilator ma krzyczeć? Przecież nic nie zrobiłeś źle. Zaneguj coś co jest zanegowane, czyli raz zanegowana jedynka da zero a zaneguj ją drugi raz to co otrzymasz... z powrotem jedynkę. |
Autor: | mirekk36 [ 21 wrz 2021, o 23:08 ] |
Tytuł: | Re: Wynik pewnej operacji bitowej |
krawi92 napisał(a): i wstawi mi się podwójna tylda. eeeh panie ... czytaj częściej mojego bloga, bo już od bardzo dawna podałem MEGA prosty sposób żeby się nigdy podwójna tylda nie pojawiała - bo to problem każdego początkującego zresztą zobacz sam http://mirekk36.blogspot.com/2012/03/ty ... lemow.html a dokładnie to na forum jest opisane post4081.html#p4081 |
Strona 1 z 1 | Strefa czasowa: UTC + 1 |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |