문제1 >
1비트로 표현할 수 있는 데이터의 수는 0과 1 이렇게 두 개이다. 그리고 2비트가 표현할 수 있는 데이터의 수는 00, 01, 10, 11 이렇게 네 개이다. 그렇다면 4비트, 1바이트 그리고 4바이트로 표현할 수 있는 데이터의 수는 몇 개인가?
문제1 해설 >
4비트 : 8개
1바이트 : 2^8개
4바이트 : 2^32개
문제2 >
1바이트 0000001은 10진수로 1이고, 1바이트 00000010은 10진수로 2이다. 그렇다면 다음 바이트들은 각각 10진수로 얼마가 되겠는가 ?
00000001 | 1 |
00000010 | 2 |
00000100 | 4 |
00001000 | 8 |
00010000 | 16 |
00100000 | 32 |
01000000 | 64 |
10000000 | 128 |
문제3 >
문제2에서 얻은 결과를 가지고, 다음 각각의 바이트들이 나타내는 값이 10진수로 얼마인지 계산해보자.
바이트 | 10진수 |
00010001 | 17 |
10100010 | 162 |
11110111 | 247 |
문제 4-2의 중요한 결론
n개의 비트를 가지고 나타낼 수 있는 데이터의 수는 2^n개이다.
int num1 = 10; //특별한 선언이 없으면 10진수의 표현
int num2 = 0xA; //0x로 시작하면 16진수의 표현
int num3 = 012; //0으로 시작하면 8진수의 표현
초기화에 사용된 표현의 방식에만 차이가 있을 뿐, 컴퓨터는 내부적으로 2진수의 형태로 값을 저장한다.
'c' 카테고리의 다른 글
[c언어/열혈 c프로그래밍] 음의 정수 크기 확인하기 (0) | 2023.08.05 |
---|---|
[c언어/열혈 c프로그래밍] p.89 문제 04-3 음의 정수 표현하기 (0) | 2023.08.05 |
[c언어/열혈 c프로그래밍] p.82 문제 04-1 <진법의 이해> (0) | 2023.08.03 |
[자료구조]LinearSearch.c 와 BinarySearch.c 의 코드와 시간복잡도 (0) | 2023.03.23 |
[c/c++] 구조체로 학생 성적 처리 (0) | 2023.03.05 |