이론공부/시험공부

컴퓨터 구조 ( 1~2주차)

chobyeonggyu03 2024. 9. 10. 13:11
반응형

 

● 비트(bit)란?

비트란 'binary digit'의 약자로 2진수로 표현되는 '컴퓨터에서 가장 작은 데이터 표현단위'이다.

 

 

- 각 비트는 2진법으로 이루어져 있기에 0과 1로만 표현 (2진법인 이유는 컴퓨터의 전자적 특성때문임)

 

- 비트들의 집합은 여러 방법으로 인코딩/번역되며 모든 데이터는 결국 비트의 조합으로 표현됨

 

-  숫자뿐만 아니라 집합, 문자열 등까지도 bit를 활용해 표현할 수 있음

 

- 2진수의 뿌리는 '음'과 '양'임

 

 

 

비트(2진수)의 표현과 변환의 예

ex) 00000001 (2진수) = 1 (10진수)

      00000010 (2진수) = 2 (10진수)

      11111111 (2진수) = 255 (10진수)

       64 (10진수) = 01000000 (2진수)

 

 

 

 

 

 

● 바이트(byte)란?

바이트란 '컴퓨터에서 데이터를 저장하거나 처리하는 데 사용되는 단위 중 bit 다음으로 작은 단위'이다.

 

 

- 1Byte는 8bit로 이루어짐

 

- 8bit로 이루어져 있기에 1byte당 256개의 값들을 표현할 수 있음(2^8 =256)

 

- 메모리 크기와 저장 공간을 측정하는 기본 단위 (메모리의 주소값을 1Byte씩 할당함)

 

-  이미지와 사운드 같은 복잡한 데이터도 바이트 단위로 저장

 

 

 


1Byte의 표현범위

ex) 00000000 ~ 11111111 (2진수)

      0 ~ 255 (10진수)

      00 ~ FF (16진수)

 

Hex Decimal Binary 표

 

 

(위의 표를 시험볼 때 작성하면 유용할 거라고 언급하심)

 

 

 

 

16진수의 표현방법

ex) 0xFA1D37B(16진수) = 262263675(10진수)

 

(0xFA1D37B 에서 x는 hex, deciaml중 hex에서의 'x'이고 16진수 숫자임을 가리킴 --> 정확히는 0x가 16진수임을 나타내는 표시임)

 

 

 

 

 

 Bit로 논리연산자 및 집합 표현방법

 

 

 

 

And 논리 연산자(&) :  비교하는 위치의 두 비트가 모두 '1'일 때 True(1)를 반환, 아니면 False(0) 반환

Or 논리 연산자(|) :  비교하는 위치의 두 비트가 하나이상 '1'일 때 True(1)를 반환, 아니면 False(0) 반환

Xor논리 연산자(^) :  비교하는 위치의 두 비트가 모두 다를 True(1)를 반환, 아니면 False(0) 반환

Not 논리 연산자(~) :  비트의 값을 True(1)면 False(0)을 반환, False(0)면 True(1)을 반환

 

 

 

 

비트(bit)의 집합 표현방법

 

 

ex) 01101001 (2진수) = 105 (10진수)

      76543210 (위치표시) 

 

      01010101 (2진수) = 85 (10진수)

      76543210 (위치표시) 

 

위의 bit들의 자리를 각각 따와서 True(1)의 위치를 집합으로 만들면  { 0, 3, 5, 6 }, { 0, 2, 4, 6 }임

 

여기서 비트를 활용해 표현한 집합들의 논리 연산자 관계성을 집합으로 표현하면,

 

And 논리 연산자 == 교집합 (둘다 1일때만 1반환)

Or 논리 연산자 ==  합집합 (한쪽이라도 1이 있다면 1반환)

Xor 논리 연산자 == 대칭차 (둘다 0과 1로 다를때만 1반환)

Not 논리 연산자 == 여집합 (반대로 반환, 1이면 0반환 0이면 1반환)

 

 

 

 

 

 

비트(bit) 논리연산의 예시

 

ex1) 0x41 (16진수) = 4*16+1 = 65 (10진수) = 01000001 (2진수) 비트값에  0x41에 Not 논리 연산자(~)를 적용시키면

 

       ~ 0x41 => ~ 01000001 => 10111110 => 190 (10진수) => 190 = (16*11 +14) => 0xBE (16진수)

 

 

ex2) 0x69 (6*16+9=105, 10진수값: 105)와 0x55 (5*16+5= 85, 10진수값: 85) 비트값에 And 논리 연산자(&)를 적용시키면

 

        01101001 &&  01010101 => 01000001 (10진수 값: 65)

 

ex3) 0x69 (6*16+9=105, 10진수값: 105)와 0x55 (5*16+5= 85, 10진수값: 85) 비트값에 Or 논리 연산자(|)를 적용시키면

 

        01101001 ||  01010101 => 01111101 (10진수 값: 125)

 

반응형

'이론공부 > 시험공부' 카테고리의 다른 글

운영체제 (OS) - Chapter 03  (0) 2024.10.11
운영체제 (OS) - Chapter 02  (1) 2024.10.11
운영체제 (OS) - Chapter 01  (1) 2024.10.10
소프트웨어 공학 (3주차)  (1) 2024.09.13
소프트웨어 공학 (1~2주차)  (2) 2024.09.09