공부하는 남자   



  • Key log

  • 공부 하는 남자
    검색 하는 남자

  • Log in out

  • 관리자

  • 편집

  • 글 쓰기

  • Link
  • Home
  • 십진수를 이진수로 표기한 도표

    2020. 4. 27. 20:47   코딩문자 배우기

    십진수를 이진수로 바꾸기

    오늘은 오래전에 작성 한 유니코드중 아스키문에 대한 도표를 요즈음 새롭게 만들어진 에디트 편집기로 새롭게 리바이블 하도록 합니다.

    블로그 초기(2014년)에 작성한 문서 인데 지금 다시 보니 많이 허접 한 것 같아 새롭게 리모델링 을 하는 것인데요 이 작업을 하게 된 것은 지난 시간에 작성 한 페이지를 들여다 보다가 서버에서 새로운 버전으로 업그레이드 하는 바람에 서버의 cdn링크 를 이용 해 작성 한 블로그의 일부 아이콘들이 깨지거나 오류로 뜨고 있어 다시 리모델링 을 하지 않을수가 없어 새로 단장을 했습니다.

    웹 문서는 이진수 로 만 기록 되며 각 나라별의 언어로 할당된 문자 구간이 약속 되어 있는 데요 그것이 유니코드 입니다.

    유니코드 를 십진수(decimal)로 계산 한후 다시 이진수(binary)로 바꾸는 것은 컴퓨터 에 나타내기 위한 필수 작업 이죠
    유니코드 도표는 십육진수(haxdecimal)로 표기를 하는데요 이진수는 많은 자리수를 나열 해야 하기 때문일 것 이라 생각이 듭니다.

    십육진수에서 실제 사용 가능한 이진수로 바로 만들기는 매우 어렵기 때문에 십진수로 먼저 바꾼후 이진수로 바꾸어 나가게 됩니다.

    아스키 문자 코드 십진수 를 이진수로 고치기

    • ! (33)→ [0 1 0 0 0 0 1] (예제)
    • 아스키 문자(십진수)→[이진수]
    • (33)→[0100001]
    • (34)→[0100010]
    • (35)→[0100011]
    • (36)→[0100100]
    • (37)→[0100101]
    • &(38)→[0100110]
    • (39)→[0100111]
    • (40)→[0101000]
    • (41)→[0101001]
    • × (42)→[0101010]
    • (43)→[0101011]
    • (44)→[0101100]
    • (45)→[0101101]
    • (46)→[0101110]
    • (47)→[0101111]
    • (48) - [0110000]
    • (49)→[0110001]
    • (50)→[0110010]
    • (51)→[0110011]
    • (52)→[0110100]
    • (53)→[0110101]
    • (54)→[0110110]
    • (55)→[0110111]
    • (56)→[0111000]
    • (57)→[0111001]
    • (58)→[0111010]
    • (59)→[0111011]
    • (60)→[0111100]
    • (61)→[0111101]
    • (62)→[0111110]
    • (63)→[0111111]
    • (64)→[1000000]
    • (65)→[1000001]
    • (66)→[1000010]
    • (67)→[1000011]
    • (68)→[1000100]
    • (69)→[1000101]
    • (70)→[1000110]
    • (71)→[1000111]
    • (72)→[1001000]
    • (73)→[1001001]
    • (74)→[1001010]
    • (75)→[1001011]
    • (76)→[1001100]
    • (77)→[1001101]
    • N (78)→[1001110]
    • O (79)→[1001111]
    • P (80)→[1010000]
    • (81)→[1010001]
    • (82)→[1010010]
    • (83)→[1010011]
    • (84)→[1010100]
    • (85)→[1010101]
    • (86)→[1010110]
    • (87)→[1010111]
    • (88)→[1011000]
    • (89)→[1011001]
    • (90)→[1011010]
    • [ (91)→[1011011]
    • \ (92)→[1011100]
    • ] (93)→[1011101]
    • ^ (94)→[1011110]
    • - (95)→[1011111]
    • `(96)→[1100000]
    • (97)→[1100001]
    • (98)→[1100010]
    • (99)→[1100011]
    • (100)→[1100100]
    • (101)→[1100101]
    • (102)→[1100110]
    • (103)→[1100111]
    • (104)→[1101000]
    • (105)→[1101001]
    • (106)→[1101010]
    • (107)→[1101011]
    • (108)→[1101100]
    • (109)→[1101101]
    • (110)→[1101110]
    • (111)→[1101111]
    • (112)→[1110000]
    • (113)→[1110001]
    • (114)→[1110010]
    • (115)→[1110011]
    • (116)→[1110100]
    • (117)→[1110101]
    • (118)→[1110110]
    • (119)→[1110111]
    • (120)→[1111000]
    • (121)→[1111001]
    • (122)→[1111010]
    • (123)→[1111011]
    • (124)→[1111100]
    • (125)→[1111101]
    • (126)→[1111110]
    • DEL (127)→[1111111]
     

    보통의 경우 유니코드는 16진수 (haxdecimal)로 표기를 하게 되는데 우리가 흔히 접하는 바코드를 찍을때 역시 16진수를 씁니다.
    유니코드의 약속 도표에는 (U+십육진수) 이렇게 표시를 하고 각 문자별 코드에 구간을 정하고 이것을 이진수로 계산 하도록 하고 있답니다.
    앞서서도 이야기 했지만 실질적인 프로그래밍 언어를 사용 하기 위해서는 십진수는 이진수로 바꾸지 않으면 안됩니다.  정보 전달은 이진수 바이트로만 할수가 있기 때문 이죠. 

    이전 시간에 십육진수를 십진수로 쉽게 바꾸는 방법에 대해 기술 했지요 링크를 따라 가면 볼수 있습니다.

    지난 페이지링크십육진수를 십진수로 쉽게 바꾸는 방법

    그리고 아래 링크는 십진수를 이진수로 쉽게 바꾸는 방법 에 대한 도표 입니다.
    십진수를 이진수로 바꾸기

    오늘은 지난 시간에 작성한 아스키 문자에 주어진 십진수를 이진수로 바꾸는 도표를 다시 리모 델링 해 만들어 보았습니다.

    우리가 일상에서 보통 사용하는 십진수로는 표기 할수 없는 경우가 있는 데요 체계적으로 상품을 관리 하기 위해 사용하는 바코드 같은 것에는 십육진수를 사용해야 하기 때문 입니다
    그래서 십진수를 십육진수로 바꿔야 하는 경우가 있지요 아래는 십진수를 십육진수로 바꾸는 방법에 대한 포스팅 링크 입니다.
    십진수를 십육진수로 쉽게 바꾸는 방법

    아스키문자는 미국에서 컴퓨터를 이용해 정보를 전송 하기 위해 만든 코드로 알파벳과 특수문자로 구성된 프로그래밍 언어 입니다.
    위 도표의 상위 두줄에 있는 예제 에서 앞쪽에 있는 것은 유니코드 이며 소괄호 안의 숫자는 십진수 이고 대괄호 안의 숫자는 이진수 로 바꾼 숫자 입니다.
    앞쪽에 있는 코드를 십진수로 표기 하고 이것을 인터넷 웹 정보 언어로 사용 하기 위해 한번더 바꾼 것이 이진수 입니다.
    우리는 컴퓨터 에디터에 영문 또는 한글로 표기를 하지만 이것은 인터넷으로 전송 할수 없습니다.
    기계는 단지 두가지 신호 만을 인식 하게 되는데 즉 켰다 껐다 하는 펄스 언어 인 것이죠 모르스 신호 체계를 업그레이드 한것 입니다.
    독일의 철학자 라이프니츠는 이것을 0과1이라는 두자릿수 진수binary로 인식의 전환을 이루어 개발 한 것입니다.
    8번의 펄스 또는 비트라고 하는 전기적 신호를 한 바이트로 묶어 하나의 단글자를 만드는데 이것을 1바이트라고 하죠 유니 코드는 이런 8비트 로 이루어진 256개의 바이트 묶음 (케릭트 셋) 으로 정보를 전송 하게 되는 것입니다.

    아스키 문자 코드 도표

    0~32- 제어 코드 33-! 34-" 35-# 36-$ 37-% 38-& 39-' 40-( 41-) 42-× 43-+ 44-, 45-- 46-. 47-/ 48-0 49-1 50-2 51-3 52-4 53-5 54-6 55-7 56-8 57-9 58-: 59-; 60-< 61-= 62-> 63-? 64-@ 65-A..~..90-Z 91-[ 92\ 93-] 94-^ 95-- 96` 97-a..~..122-z 123-{ 124-| 125-} 126-~ 127-del
     
    위의 도표서  127번코드는 비인쇄 코드 즉 제어문자 입니다.

    위에서도 언급한 대로 제어 문자는0(null)~31(us) 32번 빈공간 까지와 마지막 코드 127번을 포함 33개 이며 여기서 32번은 아예 빈공간 입니다. 

    그래서 유니코드 에서 아스키코드는 총 128개가 할당 되어 있다는 것을 알수 있겠죠

    아래 링크로 유니코드 도표를 참고 합니다

    유니코드 도표 보기

     

    T,back:     Comment: