● 비트(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진수)
(위의 표를 시험볼 때 작성하면 유용할 거라고 언급하심)
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 |