Skip to main content

Command Palette

Search for a command to run...

C++ 자료형 및 Byte 개념

Updated
2 min readView as Markdown
int main()
{
    // 자료형 (크기 단위, byte - 메모리 단위) Data Type
    // 정수형: char(1), short(2), int(4), long(4), long long(8)
    // 실수형: float(4), double(8)

    int i = 0;
    // i 라는 정수형을 선언하고 i의 크기는 4 byte이다.
    unsigned char c = 0;
    // unsigned = 양수의 정수만 표현

    c = 0;
    c = 256; // 오류
    // 오류가 난 이유: 1 byte는 8 bit로 총 256가지의 경우의 수를 가짐,
    // unsigned를 사용해 양수의 정수만을 가지도록 정한 char는 1 byte의 크기를 가지므로 0 ~ 255의 수를 가질 수 있는데,
    // 256을 대입했으므로 오류가 발생

    return 0;
}

// 1 byte = 8 bit
// bit = 더 이상 쪼갤 수 없는 단위, 0과 1로만 이루어 짐 True or False
int main()
{
    // 자료형 (크기 단위, byte - 메모리 단위) Data Type
    // 정수형: char(1), short(2), int(4), long(4), long long(8)
    // 실수형: float(4), double(8)

    int i = 0;
    // i 라는 정수형을 선언하고 i의 크기는 4 byte이다.
    unsigned char c = 0;
    // unsigned = 양수의 정수만 표현
    // 256 가지 -> 0 ~ 255
    c = 0;
    c = 255;

    char c1 = 0;
    // 양수와 음수를 모두 표현(signed)
    // 256 가지 -> -128 ~ 0 ~ 127
    c1 = -1;
    // 음의 정수 찾기(2의 보수법)
    // 대응되는 양수의 부호를 반전 후, 1을 더한다.
    // ex) 0 0 0 0 0 0 1 0 = 2 / -2를 찾는다면
    // 1 1 1 1 1 1 1 0 = -2 
    return 0;
}

// 1 byte = 8 bit
// bit = 더 이상 쪼갤 수 없는 단위, 0과 1로만 이루어 짐 True or False

More from this blog

선행처리기와 매크로

선행처리는 컴파일 이전의 처리를 의미 선행처리는 선행처리기에 의해서, 컴파일은 컴파일러에 의해서, 링크는 링커에 의해서 진행 소스파일 → 선행처리기 → 선행처리 거친 소스파일 → 컴파일러 → 오브젝트 파일 → 링커 → 실행파일 컴파일 과정을 거치게 되면 바이너리 데이터로 이루어진 오브젝트 파일이 생성 선행처리기가 하는 일 삽입해 놓은 선행처리 명령문대로 소스코드의 일부를 수정 여기서 수정이란, 단순 치환의 형태 /* 간단한 선행처리 명령문 */...

Oct 10, 20246 min read

C 언어의 메모리 구조

프로그램을 실행하면 해당 프로그램의 실행을 위한 메모리 공간이 운영체제에 의해서 미리 마련 그리고 바로 이 메모리 공간 내에서 변수가 선언되고, 문자열이 선언되는 것 메모리의 구성 프로그램 실행 시 운영체제에 의해서 마련되는 메모리의 구조는 네 개의 영역으로 구분 코드 영역 / 데이터 영역 / 힙 영역 / 스택 영역 메모리 공간을 나눠놓은 이유는 유사한 성향의 데이터를 묶어서 저장을 하면, 관리가 용이해지고 메모리의 접근속도가 향상 메모리 영역...

Oct 9, 20246 min read

파일과 스트림(Stream), 그리고 기본적인 파일의 입출력

저기 저 파일에 저장되어 있는 데이터를 읽고 싶어요. 프로그램 상에서 파일에 저장되어 있는 데이터를 참조하길 원한다고(읽기 원한다고) 가정했을 때, 우리가 구현한 프로그램과 참조할 데이터가 저장되어 있는 파일 사이에 데이터가 이동할 수 있는 다리를 놓는 일을 먼저 해야 한다. 이러한 데이터 이동의 경로가 되는 다리를 가리켜 ‘스트림(stream)’이라 함. 스트림이라는 것은 운영체제에 의해서 형성되는 소프트웨어적인 상태를 의미하는 것 따라서, ...

Oct 8, 20249 min read

JinGood

31 posts