22019, 1/1101 회원가입  로그인  
   아이프리드
   http://Sleeping...zzZZ
   [re] 비트연산과 진수변환에 대해서 가르쳐 주세요!!

http://www.hackerschool.org/HS_Boards/zboard.php?id=Free_Board&no=8372 [복사]



1. 같습니다. 단지 나누는수가 8, 16이죠...
2. 0101 을 10진수로 바꾼다면 오른쪽 끝자리가 1 그다음이 2 그다음이 4 마지막으
로 가장 왼쪽이 8의 자리입니다. 즉 0101 이라면 1과 4의 자리에 1이므로 (4*1)+(1
*1)이 되어 10진수 5가 되는거죠. 8진수와 16진수는 각자리가 끝에서부터 1,8,64 이
런식으로 증가하고 16진수는 1,16, 256이런식으로 증가합니다. 이것은 10진수를 통
해서 쉽게 이해할수 있을겁니다. 10진수 첫째자리는 1단위 그다음 자리단위는 10 그
다음은 100이 되듯이요.

예를 들어보자면....2진수는 1001  -> 값
                            8421  -> 각자리마다의 계산값
                    8자리와 1자리가 1이고 나머지는 0이므로....
계산> (8*1)+(4*0)+(2*0)+(1*1) = 9(10진수) 가 되는겁니다.

8진수는 014  -> 값
        6481  -> 각자리마다의 계산값
계산> (0*64)+(1*8)+(4*1) = 12(10진수) 가 되는겁니다.

16진수 91 -> 값
       161 -> 각자리마다의 계산값
계산> (9*16)+(1*1) = 145(10진수) 가 됩니다.

8진수 16진수는 자리수가 커질때마다 값이 매우 커지기 때문에 작은값으로
예제를 만들었습니다.


3. 비트연산이란 우리가 일반적으로 하는 사칙연산과 논리연산을 비트단위에서
    연산하는것을 말합니다. 비트단위이므로 2진수를 이용한 연산이 되겠죠.

    4(10) + 5(10) = 9(10) -> 10진수를 이용한 연산.
    0100(2) + 0101(2) = 1001(2) -> 2진수를 이용한 비트연산.

     (1)
      0100
    + 0101
  ----------
      1001

   이런형태로 계산되는겁니다. 2진수이므로 1이 최대값이기 때문에 1+1은 그 윗자
   리로 올림수가 +1되고 자신은 0이되는거죠.
   하지만 이런 사칙연산보다는 논리연산을 위해 비트연산을 많이 하는데 그이유는
   속도와 메모리때문입니다.

   컴퓨터는 기본적으로 2진수형태로 움직입니다.(실제로 사용자가 10진수를 입력
   해도 컴퓨터는 2진수로 모든것을 해석하죠) 그렇기때문에 입력때부터 2진수로
   입력을 한다면 컴퓨터가 별도의 해석없이 바로 처리가 가능한것이죠. 속도의 향
   상을 가져옵니다. 그에따른 메모리 효율도 있습니다.
   하지만 컴퓨터의 발달로 그차이는 매우 좁아져서 별차이를 못느끼실겁니다.
   (과거에나 그렇다는거죠.)

   논리연산 예를 들어보죠.

   0101 OR 0011 = 0111 입니다. OR의 의미는 각비트를 비교해서 하나라도 1이면
   결과가 1이되죠.

         0101
    OR   0011
--------------
         0111

  OR외에도 AND(:비트를 비교해 두개모두 1일때 1) NOT(비트를 역으로변화)
  NOR, NAND, XOR등이 있습니다. 더 자세히 알고 싶다면 디지털공학 책을
  구해서 보시길...
          

  Hit : 10925     Date : 2007/02/04 01:04



    
a456753 10진수 외의 진수에서 다른 진수로의 변환은 못 하는거에요? 2007/02/04  
a456753 논리연산을 하는 방법은 알겠습니다, 그런데 왜 논리연산이 필요(?)한 것입니까? 2007/02/04  
gallenty 가능합니다.. 예를 들면 2진수는 8진수나 16진수로 쉽게 고칠수 있습니다.. 1110100가 있을때 2007/02/05  
gallenty 1 110 100으로 3자리씩 끊어서 164(oct)가 됩니다.. 같은 방법으로 111 0100으로 4자리씩 끊어서 16진수 74(hex)로 변환 가능합니다.. 2007/02/05  
gallenty 물론 다른 진법도 가능하지만 컴언어에서는 2진수나 16진수를 주로 쓰기때문에 생략이구여 ^^ 논리연산은 making 같은 작업시 꼭 필요하답니다.. 2007/02/05  
gallenty masking은 자기가 원하는 부분만 취할수 있는 기능이라고 생각하세여 ^^ 2007/02/05  
a456753 16진수 로 0x00 뭐 이렇게 표현 하는데 0x의 의미가 무엇인지... 뒤에 00은 00~ff 까지가 맞는건지? 2007/02/05  
아이프리드 0x는 컴퓨터에서 16진수라는 의미...뒤에 00~ff맞습니다. 10진수로 바꾸면 0~255죠. 2007/02/05  
     [공지]해커스쿨 이용수칙 2021/04/11 수정판 [55] 한승재 01/05 12827
22018   카타고 AI[1]     해킹잘하고싶다
10/01 61
22017   시스코 라우터랑 스위치 케이블 장비 질문이에요.[1]     해킹잘하고싶다
09/22 123
22016   ㅇㅅㅇ     해킹잘하고싶다
08/15 297
22015   요즘 하고 있는 거     해킹잘하고싶다
07/13 510
22014   2위 ㅇㅅㅇ     해킹잘하고싶다
07/13 444
22013   ...     해킹잘하고싶다
03/31 836
22012   ...     해킹잘하고싶다
03/25 818
22011   15년전쯤 이 사이트 보고 꿈을 정했었는데~~~[1]     ambition65
03/20 1219
22010   으앙!!![1]     해킹잘하고싶다
02/05 957
22009   오랜만~     DarkSlayer
12/11 1157
22008   해커스쿨 옛날 BGM[1]     wkfhddl4041
11/07 1261
22007   히잉...     해킹잘하고싶다
11/02 1084
22006   바둑과 장기     해킹잘하고싶다
10/30 1170
22005   나는 언제 애인이 생기나욤...     해킹잘하고싶다
10/27 1248
22004   전국 1위     해킹잘하고싶다
10/27 1191
22003   담배 ㅋㅋ[1]     해킹잘하고싶다
10/27 1197
22002   매트릭스의 파란약을 아십니까..?     해킹잘하고싶다
10/27 1151
22001   ㅇㅇ[1]     해킹잘하고싶다
10/20 1120
22000   옵치 핵감지 프로그램좀 만들어주세요[1]     powerima
10/15 1245
1 [2][3][4][5][6][7][8][9][10]..[1101]

Copyright 1999-2026 Zeroboard / skin by Hackerschool.org / Secure Patch by Hackerschool.org