본문 바로가기
PROGRAMMING/C

2진법, 10진법, 16진법 그리고 변수

by 쪼렙엔지니어 2022. 2. 9.
반응형

컴퓨터는 2진법을 사용하는데

2진법은 지수라는 개념으로 접근해야 하고

지수에 있어서 가장 중요한 것은 (X)^0 = 1이라는 것입니다.

이것은 사실 말이 되지 않는 내용이지만

수학자들 사이에서 약속되고 정의된 값입니다.

이 값이 1이라고 정의되지 않는다면

다른 지수관련 중요한 법칙들을 정립할 수 없기 때문입니다.

그래서 어떤 값의 0승은 1이다라는 것은 외우는 걸 추천드립니다.

 

2진수와 10진수, 16진수는 잘 알고 있어야 합니다.

2진수 = Binary,

10진수 = decimal,

16진수 = hex(hexadecimal)

2진화 10진수 = BCD

물론 우리가 컴퓨터처럼 2진수, 16진수, 10진수를

빛의 속도로 계산할 순 없습니다.

그렇지만 컴퓨터가 2진수로 받아들인다는 것을 기억하고,

표현은 16진수로 한다는 것도 기억을 하고

프로그램 작성에 임해야 합니다.

 

 

그럼 다음으로 변수에 대해서 이야기 해 보겠습니다.

자 먼저 C언어에는 어떤종류의 변수가 있는지 간단하게 보고나서

변수가 무엇인지 이야기 해 보겠습니다.

Type Size Range
Char 1Byte (8bit) 문자
Short 2Byte (16bit) -32,768 ~ 32,767
Int 4Byte (32bit) -2,147,483,648 ~ 2,147,483,647
Long 4Byte (32bit) -2,147,483,648 ~ 2,147,483,647
LongLong 8Byte (64bit) -9,223,372,036,854,775,808 ~
9,223,372,036,854,775,807
Float 4Byte (32bit) +/-3.4 x 10^-37 ~ +/-3.4 x 10^38 
Double 8Byte (64bit) +/-1.7 x 10^-307 ~ +/-1.7 x 10^308

 

그럼 변수란 무엇인가....

생각해 봅시다.

저는 변수를 자동차로 비유하고 싶습니다.

자동차에는 여러가지 종류가 있지요.

덤프트럭도 있고, 1톤 트럭도 있고, SUV도 있고, 일반 승용차도 있지요.

그리고 거기에는 실을 수 있는 짐의 양도 다르지요.

자동차를 변수라고 생각하고, 짐을 데이터 사이즈라고 생각해 봅시다.

어떤 데이터를 우리가 계산하거나 복사하려면 어딘가에 일단 저장을 해야하는데

그 장소가 변수인 것입니다.

그리고 그 변수는 여러개가 존재하니 이름을 다르게 붙여서 (선언해서)

사용하는 것이지요.

한번 예를 들어볼까요?

위와 같이 작성한 코드를 실행해보면

아래와 같이 결과가 나옵니다.

 

자~

위에서 작성한 코드중에 변수는 a와 b입니다.

main함수를 시작하기 전에

변수 a와 b를 int type으로 선언하였으며,

각각 10과 20이라는 데이터를 저장한 것입니다.

(우리는 10진수로 입력했지만 메모리에는 2진수로 저장되었겠죠?)

 

그리고 

해당 변수를 출력할 때는 int type은 %d를 사용합니다.

 

실수형 자료를 선언하고 싶을땐 아래와 같이 하면 됩니다.

이번엔 소숫점이 있는 실수를 저장하기 위해

변수의 자료형을 float type과 double type을 사용했고,

출력하고자 할때는 동일하게 %f를 사용하였습니다.

 

그리고 보시다시피 main함수 안에서도

변수의 선언은 얼마든지 가능합니다.

 

만약에 문자형 변수를 선언하고자 한다면

자료형을 char로 선언하고, 출력하고자 할때는 %c를

이용하면 됩니다.

 

일단 오늘은 여기까지 입니다.

고생하셨습니다.

 

제 블로그를 방문해 주셔서 감사합니다.

도움이 되셨다면 공감(좋아요) 부탁드리고,

댓글은 다른분들께도 좋은 정보일 수 있으니

공개로 부탁드립니다.

여러분의 작은 정성이 좋은 포스팅을 생산하는

힘이 된답니다. :)

감사합니다.

 

 

반응형

'PROGRAMMING > C' 카테고리의 다른 글

변수의 출력 다음은 데이터 입력!!  (0) 2022.02.14
변수 선언과 출력  (0) 2022.02.11
Hello world #2  (0) 2022.02.08
Hello world #1  (0) 2022.02.07
Compiler(컴파일러) 설치 (Visual Studio 2019)  (0) 2022.01.21

댓글