본문 바로가기

전자 공학/C언어 C++

[C언어 독학하기] 8. 비트와 바이트, sizeof, 캐스트

반응형

 

 

 

안녕하세요. 취업한 공대누나입니다.

오늘은 비트와 바이트, sizeof와 캐스트에 대해 공부해보도록 하겠습니다.

 

 

1. 비트(Bit), 바이트(Byte)

 

컴퓨터는 0과 1밖에 구분할 수 없다는 말은 한 번 쯤은 들어보셨을 겁니다.

컴퓨터는 모든 정보를 0과 1로 구분하여 저장을 하게 됩니다.

예를 들어 00001111이라는 것을 저장한다고 해봅시다.

 

1이나 0 , 신호를 나타내는 최소 단위를 우리는 비트라고 하고, 8비트를 1바이트라고 합니다.

바이트는 정보의 기본 단위라고도 합니다.

 

그렇다면 일상생활에서 많이 사용하는 바이트의 단위에 대해서 알아보도록 하겠습니다.

1킬로바이트(KB)는 1024바이트

1메가 바이트는 1024킬로바이트

1기가 바이트는 1024 메가바이트이런 식으로 진행이됩니다.

읽는 방법을 소개해드리면, 

테라바이트, 페타바이트, 엑사바이트, 제타바이트, 요타바이트로 읽어주시면 됩니다.

일상 생활에서는 테라바이트까지는 잘 사용하는 것 같은데 이후는 아직까지는 잘 사용하지 않는 것 같아요.

 

 

2. sizeof

 

sizeof는 자료형의 크기를 바이트단위로 구하는 연산자입니다.

 

사용하는 방법은 아래에 예제를 통해 표현했습니다.

sizeof a 같이 변수이름을 통해서 자료형의 크기를 구할 수도 있고

sizeof(int)와 같이 사용해서도 구할 수 있습니다.

 

그러면 sizeof 연산자를 이용해서 자료형의 크기를 구해보도록 하겠습니다. 

 

우리가 예전에 공부한대로

char는 1바이트, int는 4바이트와 같이 구할 수 있습니다.

다른 자료형도 한 번 소스를 통해 알아보세요.

 

 

3. 캐스트 연산자

 

캐스트 연산자는 자료형을 변환할 때 사용합니다.

()를 캐스트 연산자라고 합니다.

 

 

 

위의 예제와 같이 3이라는 정수를 %f, 즉 실수형 서식문자를 이용하여

출력하려고 하니 0.000000이라는 값이 나타나게 됩니다.

이럴 때 가장 간단한 방법은 %d서식 문자를 사용하여 3을 출력하는 것입니다.

 

하지만 다른 방법도 있는데요.

바로 캐스트 연산자를 사용하는 것입니다.

 

(double)3을 출력하니 3.000000이 출력되었습니다.

이렇게 우리가 바꾸고자 하는 자료형을 소괄호 안에 적어주면 됩니다.

 

처음부터 잘 사용하면 되지 굳이 왜 이렇게 사용할까라는 의문이 들 수도 있습니다.

저도 학부생때는 그냥 그렇구나 하고 넘어갔는데 실무에서는 유용하게 사용하고 있습니다.

 

이후에 공부를 하겠지만 함수라는 것을 사용할 때 항상 같은 자료형을 넣으면 좋겠지만

계산하다보면, 혹은 다른 이유들로 자료형이 달라질 수도 있습니다.

이럴 경우 캐스트 연산자를 사용하여 적절한 자료형을 대입할 수 있습니다.

 

 

위와 같이 변수명 앞에 캐스트 연산자가 올 수도 있습니다.

 

 

오늘은 자료형의 크기를 구하는 sizeof와 자료형 자체를 변환시키는 캐스트 연산자에 대해 알아보았습니다.

두 연산자 모두 자주 사용할 수 있는 연산자이니 꼭 잘 기억해두세요.

감사합니다.

 

 

반응형