티스토리 뷰

목차

    반응형

    C++ Signed Integer 데이터 타입 공부하기 


    Signed Integer 자료형

    double-word는 2바이트 2개, 또는 16비트 2개의 결합(4바이트, 32비트)을 의미하며 맨 우측 0비트에서 맨 좌측 31 비트까지를 나타냅니다.



    C++ INT 16비트c# java 공통 자료형, 데이터 타입 범위와 차이점



    • 우측 0비트 : 최하위 비트, LOBIT로 부름
    • 좌측 31비트 : 최상위 비트, HIBIT라 부름


    다른 비트들은 위치값을 사용하여 부릅니다.


    • 첫 번째 8비트(0~7비트) 그룹 : 하위 바이트, LOBYTE라 부fma
    • 마지막 8비트(24~31비트)는 상위 바이트, HIBYTE라 부르며, 다른 바이트들은 위치 값을 사용하여 호출됩니다.
    • 오른쪽 16비트 : 오른쪽 워드, 하위 워드, LOWORD라 부름
    • 좌측 16비트 : 왼쪽 워드, 상위 워드, HIWORD라 부름.



    C++ 비트 구조 16bitc# java 공통 자료형, 데이터 타입 범위와 차이점



    double-word로 표현할 수 있는 최소 이진수와 십진수는 0입니다.




    c++ signed int 정수형 자료c# java 공통 자료형, 데이터 타입 범위와 차이점



    각 비트에 1값을 주어 최대 값을 확인해 볼 수도 있습니다.


     2n-1

     230

     229

     228

     227

     226

     225

     224

     etc

     1,073,741,824

     536,870,912

     268,435,456

     134,217,728

     67,108,864

     33,554,432

     16,777,216


     223

     222

     221

     220

     219

     218

     217

     216

     8,388,608

     4,194,304

     2,097,152

     1,048,576

     524,288

     262,144

     131,072

     65,536


     215

     214

     213

     212

     211

     210

     29

     28

     32,768

     16,384

     8,192

     4,096

     2,048

     1,024

     512

     256


    27 26 25 24 23 22 21 20

    128 64 32 16 8 4 2 1

    1*231+1*230+1*229 + 1*228 + 1*227 + 1*226 + 1*225 + 1*224 + 1*223 + 1*222 + 1*221 + 1*220+ 1*219 + 1*218 + 1*217 + 1*216 + 1*215 + 1*214 + 1*213 + 1*212 + 1*211 + 1*210 + 1*29 + 1*28 + 1*27 + 1*26 + 1*25 + 1*24 + 1*23 + 1*22 + 1*21 + 1*20


    = 2,147,483,648 + 1,073,741,824 + 536,870,912 + 268,435,456 + 134,217,728 + 67,108,864 + 33,554,432 + 16,777,216 + 8,388,608 + 4,194,304 + 2,097,152 + 1,048,576 + 524,288 + 262,144 + 131,072 + 65,536 + 32,768 + 16,384 + 8,192 + 4,096 + 2,048 + 1,024 + 512 + 256 + 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1


    = 4,286,578,708


    『Word에 저장할 수 있는 16진수 최소 값은 0x0』입니다.



    C++ Signed Integer 데이터 타입 공부하기c# java 공통 자료형, 데이터 타입 범위와 차이점


    Word로 표현할 수 있는 16진수 최대 값을 확인해 보려면 모든 비트의 값을 f나 F로 변환해야 합니다.


    1111 1111 1111 1111 1111 1111 1111 1111

     f f f f f f f f

     = 0xffffffff = 0Xffffffff = 0XFFFFFFFF = 0xFFFFFFFF


    double-word는 word 두 개가 표현할 수 있는 데이터의 양을 모두 포함합니다. (32비트, 4바이트, 4,294,967,295)


    32비트를 요구하는 숫자를 저장하려면 -2,147,483,648에서 2,147,484,647까지 표현할 수 있는 INT 키워드를 사용할 수 있으며, INT에 signed도 붙일 수 있습니다.


    아래는 사용 예입니다.


    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    #include <iostream>
     
    using namespace std;
     
    void main()
    {
        int number = 44608;
        signed number = 44608;
     
        cout << number;
        putchar(L'\n');
    }
    cs


    실행 결과는 아래와 같습니다.


    44608

    Press any key to continue . . .


    c++ int 프로그래밍 원리c# java 공통 자료형, 데이터 타입 범위와 차이점


    Win32 라이브러리는 INT형 데이터 타입을 제공하는데, 아래처럼 사용하면 『INT32를 사용하는 것』과 같습니다.


    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    #include <iostream>
    #include <Windows.h>
    using namespace std;
     
    void main()
    {
        INT number = 44608;
     
        cout << number;
        putchar(L'\n');
    }
    cs



    C++ Signed Integer 데이터 타입 공부하기c# java 공통 자료형, 데이터 타입 범위와 차이점


    Unsigned Integers

    이 자료형은 32비트형으로 0에서 2,147,484,647를 나타내며, 아래는 사용 예입니다.


    1
    2
    3
    4
    5
    6
    7
    8
    #include <iostream>
    using namespace std;
     
    void main()
    {
        unsigned number;
        unsigned int value;
    }
    cs


    Unsigned Integer를 지원하기 위해 Win32 라이브러리는 UINT와 UINT32란 데이터형을 제공합니다.


    c++ int 데이터 타입 이해c# java 공통 자료형, 데이터 타입 범위와 차이점


    [C++ Signed Integer 데이터 타입 공부하기]

    반응형