본문 바로가기
컴퓨터 과학(Computer Science)

[컴퓨터배우기 03]: 컴퓨터의 데이터 표현

by 우주주민 2022. 12. 30.
반응형

데이터 표현
데이터 표현

1. 데이터 표현

데이터 표현 소개
데이터 표현 유형(예: 텍스트, 이미지, 오디오, 비디오)
데이터 표현의 예(예: ASCII, 유니코드, JPEG, MP3)

2. 숫자 표현 소개

숫자 표현 소개
숫자 표현 유형(예: 이진, 십진수, 16진수)
숫자 표현 시스템 간의 변환
숫자 표현 예제(예: 부호 있는 정수 및 부호 없는 정수, 부동 소수점 번호)

3. 비트 연산 소개

비트 연산 소개
비트 연산자(예: AND, OR, XOR, NOT)
비트 이동 연산자(예: 왼쪽 이동, 오른쪽 이동)
비트 작업의 예(예: 개별 비트 설정 및 지우기, 마스킹)

 

============================================================================================

 

 

1. 데이터 표현

데이터 표현 소개

데이터 표현은 컴퓨터가 이해하고 처리할 수 있는 방식으로 정보를 표현하거나 인코딩하는 방법입니다. 텍스트, 이미지, 오디오 및 비디오를 포함하여 우리가 표현할 수 있는 많은 다양한 유형의 데이터가 있습니다. 이러한 서로 다른 유형의 데이터는 서로 다른 표현 방법을 필요로 하며, 우리는 이 데이터를 저장하고 전송하기 위해 서로 다른 코드와 형식을 사용합니다.

예를 들어 텍스트 데이터를 표현하려면 ASCII 또는 유니코드와 같은 코드를 사용하여 각 문자와 기호를 나타낼 수 있습니다. 이미지를 표현하려면 JPEG 또는 PNG와 같은 형식을 사용하여 이미지 데이터를 저장할 수 있습니다. 만약 우리가 오디오를 표현하고 싶다면, 우리는 MP3나 WAV와 같은 형식을 사용할 수 있다.

간단히 말해서, 데이터 표현은 우리가 정보를 컴퓨터가 이해하고 사용할 수 있는 형태로 바꾸는 방법이다. 이것은 우리가 정보를 전달하고 처리하기 위해 컴퓨터를 사용하는 방법의 중요한 부분이다.

 

데이터 표현 유형(예: 텍스트, 이미지, 오디오, 비디오)

컴퓨터를 사용하여 표시할 수 있는 데이터 유형은 다음과 같습니다.

1. 텍스트: 텍스트 데이터는 문자, 숫자 및 기호로 구성된 모든 데이터입니다. 우리는 ASCII나 유니코드와 같은 코드를 사용하여 텍스트 데이터를 나타낼 수 있다.

2. 이미지: 이미지 데이터는 그림 또는 그래픽을 나타내는 데이터입니다. JPEG, PNG 또는 GIF와 같은 형식을 사용하여 이미지 데이터를 나타낼 수 있습니다.

3. 오디오: 오디오 데이터는 소리를 나타내는 데이터입니다. 우리는 MP3, WAV 또는 OGG와 같은 형식을 사용하여 오디오 데이터를 표현할 수 있다.

4. 비디오: 비디오 데이터는 동영상이나 동영상을 나타내는 데이터입니다. 우리는 MP4, AVI 또는 MOV와 같은 형식을 사용하여 비디오 데이터를 표현할 수 있다.

이것들은 우리가 컴퓨터를 사용하여 표현할 수 있는 많은 유형의 데이터 중 몇 가지 예에 불과하다. 이러한 서로 다른 유형의 데이터를 표현하기 위해서는 데이터를 저장하고 전송하기 위해 서로 다른 코드와 형식을 사용해야 합니다.

 

데이터 표현의 예(예: ASCII, 유니코드, JPEG, MP3)

 

*   ASCII(American Standard Code for Information Interchange)는 숫자를 사용하여 텍스트를 표현하는 방  법입니다. 예를 들어, 문자 "A"는 숫자 65로, 문자 "B"는 숫자 66으로 표시됩니다. 이렇게 하면 컴퓨터가 텍스트 데이터를 저장하고 처리할 수 있습니다.

*  유니코드는 숫자를 사용하여 텍스트를 표현하는 또 다른 방법이지만 ASCII보다 더 많은 문자를 포함합니다. 이것은 그것이 특수 문자와 기호뿐만 아니라 다른 언어로 텍스트를 표현하는 데 사용될 수 있다는 것을 의미한다.

*  JPEG(Joint Photographic Experts Group)는 숫자를 사용하여 이미지를 표현하는 방법입니다. 디지털 카메라 또는 전화기로 사진을 찍으면 이미지가 JPEG 형식으로 저장됩니다. 이 형식은 이미지를 압축하여 더 작은 크기로 만들기 때문에 장치에서 더 적은 공간을 차지하거나 인터넷을 통해 더 빨리 전송할 수 있습니다.

*  MP3(MPEG Audio Layer 3)는 숫자를 사용하여 오디오를 표현하는 방법입니다. 당신이 컴퓨터나 전화기로 음악을 들을 때, 오디오는 보통 MP3 형식으로 저장된다. 이 형식은 오디오를 압축하여 더 작은 크기로 만들기 때문에 장치에서 더 적은 공간을 차지하거나 인터넷을 통해 더 빨리 전송할 수 있습니다.

 

2. 숫자 표현 소개

숫자 표현 소개

숫자 표현은 다른 기호와 시스템을 사용하여 숫자를 표현하는 방법이다. 그것은 일상 생활뿐만 아니라 컴퓨터에서도 숫자를 나타내기 위해 사용된다.

숫자를 표현하는 방법에는 이진법, 십진수 및 16진수를 포함한 여러 가지가 있습니다. 이러한 시스템은 서로 다른 값을 나타내기 위해 서로 다른 기호를 사용합니다. 예를 들어 일상생활에서 가장 많이 사용되는 십진법에서는 0부터 9까지의 숫자를 사용하여 서로 다른 값을 나타낸다. 컴퓨터에서 사용되는 이진법에서는 숫자 0과 1만 값을 나타내는 데 사용됩니다.( 2가 되면 자릿수가 올라갑니다. ex)   10진수:  2      =>     2진수:   10 )

더 큰 숫자를 표현하기 위해, 우리는 다른 기호들의 조합을 사용할 수 있다. 예를 들어, 십진법에서 숫자 123은 1, 2, 3의 세 자리로 구성되어 있습니다. 이 숫자들은 각각 다른 값을 나타내며, 그것들을 합치면 123을 나타냅니다.

 

숫자 표현 유형(예: 이진, 십진수, 16진수)

1.  이진법: 이진법은 0과 1의 두 자리만을 사용하는 숫자 체계입니다. 컴퓨터가 이해하고 작업하기 쉽기 때문에 컴퓨터에서 자주 사용된다.

2.  십진법: 십진법은 우리가 매일 사용하는 숫자 체계이다. 0, 1, 2, 3, 4, 5, 6, 7, 8, 9의 10자리 숫자를 사용합니다.

3.  16진법: 16진법은 컴퓨터에서 가끔 사용되는 또 다른 숫자 체계이다. 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F의 16자리 숫자를 사용한다.

 

숫자 표현 시스템 간의 변환

숫자 표현 시스템 간의 변환은 한 기수 또는 기수(예: 이진수, 십진수, 16진수)에서 다른 기수로 숫자를 변환하는 과정이다. 다음은 이진수를 10진수로 변환하는 방법의 예입니다.

이진에서 십진수로 변환 예제:

이진수 1001은 10진수에서 1 x 2^3 + 0 x 2^2 + 0 x 2^1 + 1 x 2^0 = 8 + 0 + 0 + 1 = 9와 같다.
다음은 십진수를 이진수로 변환하는 방법의 예입니다.  (^는 거듭제곱을 의미합니다.)

(2^3 :  2를 3번 곱한다, => 2 x 2 x 2 )

십진수에서 이진수로 변환 예제:

소수 9는 이진법에서 1 x 2^3 + 0 x 2^2 + 0 x 2^1 + 1 x 2^0 = 8 + 0 + 0 + 1 = 1001과 같다.

 

숫자 표현 예제(예: 부호 있는 정수 및 부호 없는 정수, 부동 소수점 번호)

 

숫자 표현은 다른 시스템을 사용하여 숫자를 쓰는 방법입니다. 특정 상황에서 숫자로 작업하는 것이 더 쉬울 수 있기 때문에 우리는 다른 시스템을 사용한다.

숫자 표현의 한 가지 유형은 "부호를 갖는정수"라고 불린다. 이것들은 양수이거나 음수일 수 있는 숫자들이다. 부호 있는 정수는 작은 수와 큰 수를 모두 나타낼 수 있기 때문에 우리는 부호 있는 정수를 많이 사용한다.

또 다른 유형의 숫자 표현은 "부호 없는 정수"라고 불린다. 이것들은 항상 양(+)인 숫자들이다. 음수를 나타낼 필요가 없을 때 부호 없는 정수를 사용합니다.

마지막으로, "부동소수점 숫자"라고 불리는 숫자 표현의 유형이 있다. 3.14 또는 0.001과 같이 소수점이 있는 숫자입니다. 우리는 과학이나 공학에서와 같이 매우 정확해야 할 때 부동소수점 숫자를 사용한다.

 

3. 비트 연산 소개

비트 연산 소개

비트 연산은 컴퓨터 메모리의 개별 비트를 조작하는 방법이다. 비트는 컴퓨터가 이해할 수 있는 가장 작은 정보 단위이며, 0 또는 1의 두 값 중 하나를 가질 수 있습니다. 비트 연산은 비트의 값을 변경하거나 비트에 대한 연산을 수행하는 데 사용됩니다.

비트 연산의 일반적인 사용 중 하나는 값의 개별 비트를 설정하거나 지우는 것입니다. 예를 들어 8비트로 표시되는 값이 있는 경우 세 번째 비트를 1로 설정하려면 비트 연산을 사용할 수 있습니다.

비트 연산의 또 다른 용도는 AND, OR, XOR와 같은 비트에서 논리 연산을 수행하는 것이다. 이러한 연산은 두 값을 비교하거나 다른 방법으로 결합하는 데 사용할 수 있습니다.

비트 시프트는 값의 비트를 왼쪽이나 오른쪽으로 이동하는 데 사용되는 또 다른 유형의 비트 연산입니다. 이것은 값을 2의 거듭제곱으로 곱하거나 나누거나 값의 모든 비트를 일정한 자리수만큼 이동시키는 데 사용할 수 있다.

 

비트 연산자(예: AND, OR, XOR, NOT)

 

*   AND(&):   AND 연산자는 두 비트를 비교하여 두 비트가 모두 1이면 1을 반환하고 그렇지 않으면 0을 반환합니다.

 

예:
0101 & 0011 = 0001(이진법)
5 & 3 = 1 (10진수)

 

*  OR(|):   OR 연산자는 두 비트를 비교하여 두 비트 중 하나가 1이면 1을 반환하고 두 비트가 모두 0이면 0을 반환합니다.

 

예:
0101 | 0011 = 0111(이진법)
5 | 3 = 7 (10진수)


*  XOR(^):   XOR 연산자는 두 비트를 비교하여 비트가 다르면 1을 반환하고, 동일하면 0을 반환합니다.

 

예:
0101 ^ 0011 = 0110(이진법)
5 ^ 3 = 6 (10진수)


*  NOT(~):   NOT 연산자는 각 비트의 값을 반전시킨다.

 

예:
~0101 = 1010(이진법)
~5 = -6(10진수)

 

비트 이동 연산자(예: 왼쪽 이동, 오른쪽 이동)

 

비트 이동 연산자는 이진수의 비트를 왼쪽 또는 오른쪽으로 이동하는 데 사용됩니다. 이는 특정 유형의 계산을 빠르게 수행하거나 특정 방법으로 데이터를 조작하는 데 유용할 수 있습니다.

왼쪽 이동 연산자는 숫자의 비트를 지정된 위치만큼 왼쪽으로 이동합니다. 예를 들어, 이진수 "1010"이 있고 비트를 왼쪽으로 두 자리 이동하면 "101000"이 됩니다.

오른쪽 이동 연산자는 숫자의 비트를 지정된 위치만큼 오른쪽으로 이동합니다. 예를 들어, 이진수 "1010"이 있고 비트를 오른쪽으로 두 자리 이동하면 "10"이 됩니다.

다음은 이 개념을 설명하는 데 도움이 되는 예입니다.

소수 10과 같은 이진수 "1010"이 있다고 하자. 왼쪽 이동 연산자를 사용하여 비트를 왼쪽으로 한 자리 이동하면 십진수 20과 같은 "10100"이 됩니다. 오른쪽 이동 연산자를 사용하여 비트를 오른쪽으로 한 자리 이동하면 10진수 5와 같은 "101"이 됩니다.

 

비트 작업의 예(예: 개별 비트 설정 및 지우기, 마스킹)

 

*  개별 비트 설정: 이것은 숫자의 특정 비트를 0에서 1로 변경하는 것을 의미한다. 예를 들어, 숫자 1001(10진수로는 9)이 있고 두 번째 최하위 비트(오른쪽에서 두 번째 자리의 비트)를 1로 설정하려면 숫자 1011(10진수로는 11)로 끝납니다.

*  개별 비트 지우기: 이것은 숫자의 특정 비트를 1에서 0으로 변경하는 것을 의미한다. 예를 들어, 숫자 1011(10진수로는 11)이 있고 두 번째 최하위 비트(오른쪽에서 두 번째 자리의 비트)를 지우려면 숫자 1001(10진수로는 9)이 됩니다.

*  마스킹: 이는 숫자의 특정 비트만 변경하기 위해 특수 값("마스크"라고 함)을 사용하는 것을 의미합니다. 예를 들어, 숫자 1010(10진수에서 10진수)이 있고 두 번째 최하위 비트(오른쪽에서 두 번째 자리의 비트)를 0으로 변경하려는 경우 마스크 0100(10진수에서 4진수)을 사용할 수 있습니다. 마스크와 숫자 사이에서 AND 연산을 수행하면 결과 1000(10진수로 8)이 표시됩니다. 이렇게 하면 원래 번호에서 두 번째로 중요하지 않은 비트만 변경됩니다.

반응형

댓글