1000000100100101
16비트에 저렇게 값을 설정해준 상태에서
1000000100000101
이렇게 오른쪽에서 6번째비트에 있는값을 1에서 0으로 바꿀려면
어떻게하면 좋을까요?
밑에있는값이랑 위에있는값이랑 & 하면될거같은데
밑에있는값을 구하는거라 ...
>>5 해서 5비트 떼고 1을 0으로 바꿔주면
떼어진 5비트 다시 원상복구를 어케시켜야할지;;
& 1111111111011111
1000000100100101 & ~(1<<5)
Set, Clear할 때 아래 표현을 자주 사용합니다.
|= (1 << bit) &= ~(1 << bit)
참조하세요.
static uint16_t clearbit(uint16_t val, int index) { return val & ~(1 << index); }
되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』
답변해주신분들 정말 감사합니다
& 1111111111011111
& 1111111111011111
1000000100100101 &
1000000100100101 & ~(1<<5)
Set, Clear할 때 아래 표현을 자주 사용합니다.
|= (1 << bit)
&= ~(1 << bit)
참조하세요.
음 ..
static uint16_t clearbit(uint16_t val, int index) { return val & ~(1 << index); }되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』
답변해주신분들 정말 감사합니다
답변해주신분들 정말 감사합니다