2011-03-05 3 views
1

a = 0x6db7b = 0x736이라고합시다. a&ba|b을 수동으로 계산하는 방법은 무엇입니까?(수동으로) 비트 단위 및 비트 단위 또는 16 진수 형식의 두 숫자 사이를 어떤 단계에서 이진으로 변환하지 않고 어떻게 계산합니까?

나는 bitwise 연산을 알고 있고, 이것은 ab을 이진 형식으로 변환 한 다음 bitwise 연산을 수행 한 다음 다시 16 진수로 변환하는 것으로 해결할 수 있음을 알고 있습니다. 그러나 내가 찾고있는 것은 해결책이 아닙니다. interdemidiate 이진 변환없이 너무 많은 계산이 필요합니다.

가능합니까?

+7

"질문 8 번 시험에 대한 답변은 무엇입니까?" ; p –

+2

http://en.wikipedia.org/wiki/Bitwise_operation – 0xAX

+0

@ 루시퍼 : 아니요, 정확하게 '어떻게 질문 8 번에 효율적으로 대답 할 수 있습니까?'라고 생각합니다. 일반적인 방법으로 이것을 수행하는 방법을 알고 있기 때문에 ... 변환 2 진수로 변환 한 다음 표준 비트 연산으로 변환합니다. – Quixotic

답변

1

비트는 and이고 비트는 or입니다. 수동으로 계산하려면 각 숫자를 2 진수로 변환 한 다음 결과를 계산하십시오. and의 결과는 해당 비트가 설정된 경우에만 1이됩니다. 둘 중 하나 또는 둘 모두가 설정되어 하나의 해당 비트 경우 or의 결과는 1이됩니다 :

100111  100111 
&110010  |110010 
-------  ------- 
100010  110111 

그 후, 당신은 일반적으로 다른베이스에 다시 결과를 변환 할 (예를 들어, 16 진수) .

+0

이 방법을 알고 있는데 중간 바이너리 변환없이 해결할 수 있습니까? – Quixotic

+1

가능합니다. 합리적인, 아마도 아닙니다. 명백한 가능성은 16 자리 16 진수 모두에 대해 전체 표를 기억하는 것입니다. 어셈블리 언어를 정기적으로 작성할 때 나는 그 사실을 거의 알고 있었지만 더 이상 자주 사용하지 않습니다. –

관련 문제