갑자기 궁금해서 올려봅니다..ㅎㅎ BCH 와 BCD 란 무엇일까요? ---------------------------------


그전에 주의하실점은 같은 철자의 약자를 가진 BCH,BCD가 많다는 것입니다 ^^;

참고로 여기서 설명하는것은 MCU 프로그램을 코딩하실때 사용하시는 코드입니다~!


BCH (binary-coded hexadecimal) 

: 4자리의 2진법으로 표현된 16진법입니다!


16진 

BCH 

10진 

 0

0000

0001 

0010 

0011 


즉, BCH로 표현할수있는 숫자는 총 16가지 (2 X 2 X 2 X 2 = 16) 입니다. 0~15까지. 이는 하나의 BCH 숫자는 1개의 바이너리로 표현되기때문입니다. 또한, 이것은 C언어에서 사용하는 int형(signed)과 동일하겠군요..그럼 활용할수있는 방법이 떠오르시죠?..

그리고 AVR (저는 주로 AVR Studio를 사용합니다 ㅎ) 에서는 RAM주소와 같은것을 표현할 때 주로 사용합니다. 

ex) 0000H ~ FFFFH 따위로 표현.  

그렇지만 실제 코딩에서는 0X00  , 0X01 과 같은 1개의 자리가 16진을 의미하는 16진법형 표현을 가장 많이 사용합니다.

ex) 0x00 = 0000 0000 (2진법) = 0 (10진법) 을 의미합니다.

      0x10 = 0001 0000 (2진법) = 16 (10진법) 을 의미합니다.

      0x23 = 0010 0011 (2진법) = 35 (10진법) 을 의미합니다.


위의 예제를 보시면 이해가 아마 되실거라 생각됩니다. 나중에는 저 숫자들만 봐도 머릿속에서 자동으로 암산이 되실겁니다..^^:

실제적으로 가장많이 사용하는 형태이기때문에 헷갈리시지 않도록 잘 정리하시길 바랍니다.


BCD (binary-coded decimal) ------------------------------------------------------------------

: 2자리의 2진법으로 표현된 10진법입니다.



10진

BCD 

10

0001 0000 

12 

0001 0010 

32 

0011 0010 


+ Recent posts