Dostęp do poszczególnych bitów w C++
Jak mógłbym uzyskać dostęp do poszczególnych bitów wewnątrz typu c++, char
lub dowolnego innego typu c++ na przykład.
14
Author: AnotherProgrammer, 2012-03-02
3 answers
Jeśli chcesz bit dostępu N
:
Get: (INPUT >> N) & 1;
Set: INPUT |= 1 << N;
Unset: INPUT &= ~(1 << N);
Przełącz: INPUT ^= 1 << N;
39
Author: Matt,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-03-02 10:05:34
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-03-02 10:05:34
Można by użyć operatorów binarnych |
(or), &
(and) I ^
(xor), aby je ustawić. Aby ustawić trzeci bit zmiennej a
, Należy wpisać na przykład:
a = a | 0x4
Zauważ, że reprezentacja binarna 4 wynosi 0100
3
Author: qdii,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-03-02 09:59:18
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-03-02 09:59:18
To bardzo proste Powiedzmy, że musisz uzyskać dostęp do poszczególnych bitów liczby całkowitej Stwórz taką maskę int mask =1; teraz, gdy twój numer z tą maską da wartość ustawioną na bit zerowy aby uzyskać dostęp do bitu ustawionego na i-tej pozycji (indeksy zaczynają się od zera), just I with (mask
1
Author: Raman Bhatia,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-03-02 10:05:44
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-03-02 10:05:44