ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Swift] Data Types with Memory
    swift 2024. 3. 3. 21:24

    memory

    1. 의미

    0과 1을 저장할 수 있는 반도체

     

    2. 특징

    가. 전압 차이를 이용해 데이터를 저장한다.

    나. 전기가 들어오면 1, 들어오지 않으면 0 

    다. 모든 데이터는 2진수로 바꾸어서 저장한다. 

     

    3. 단위

    비트, 바이트, 킬로 바이트, 메가 바이트, 기가 바이트, 테라 바이트, 요타 바이트

    0과 1을 저장할 수 있는 가장 작은 공간: bit
    0과 1이 8개 모인 것으로 프로그래밍 언어의 기본 단위: bite *경우의 수 256가지

     

     


    Binary

     

    1.  의미

    데이터를 0과 1로만 나타낸 것(2진수 체계)

     

    2. 구조(특징)

      가. 가장 왼쪽의 비트를 Most Significant Bit(MSB), 가장 오른쪽의 비트를 Least Significant Bit(LSB)라고 한다.

      나. 실제 데이터를 저장하는 비트를 Data bit라고 한다.

      다. MSB가 0이면 데이터가 양수, 1이면 음수이다. 이 역할을 하는 비트는 Sign bit 

      라. Sign bit의 존재로 실제 데이터를 저장할 수 있는 공간이 줄어든다. 

     

    3. 관련 개념

    Signed type 음, 양수 모두 저장하는 자료형 예)-256~0 또는 ~128~127

    Unsigned type 0과 양수만을 저장하는 자료형 예)0~255

     

    4. 예시

      가. 정수(음수) 저장법

     

      2's Complement(2의 보수 방식)

        1) 양수를 이진수로 나타낸다. 예)22=00010110

        2) Bitwise not 연산으로 비트를 뒤집는다.  예)11101001

        3) 1을 더해준다. 예)11101002  ‣ 11101010

                                  *2진수이므로 마지막 자리수가 1일 경우 자릿수를 올림해줘야 한다.

                                  *코드에서 음양수 구분법: 비트를 뒤집었기 때문에 최상위 비트의 값이 1이면 음수

     

    나. 실수 저장법

    *고정 소수점을 저장할 수 없어서 부동 소수점으로 저장한다. 

    1)실수를 저장할 때는 지수와 가수로 나눠서 저장한다.

    2)메모리가 동일할 때 정수보다 더 넓은 범위를 저장한다.

    3)부동 소수점에는 오차가 존재하므로 값이 100% 정확하지 않다.


    Data types

     

    1. 의미

    자료의 크기에 따라 메모리 공간을 분류해 놓은 것.

    데이터를 저장하는 방식, 데이터의 크기를 결정한다.

     

    예) Int types: 64비트 환경에서 8비트를 차지한다. 8비트의 메모리 생성

    *+- 900경의 정수를 나타낼 수 있다. 

    *요즘은 맥 메모리가 커져서 그냥 편하게 Int 타입 선언하면 된다고 함!

     

    2. 종류

    가. 메모리의 성격에 따른 분류

      1) Integer types 정수 자료형

      2) Floating-point tyeps 실수 자료형

      3) Boolean types 참거짓 자료형

      4) Character types 문자 자료형

      5) String types 문자열 자료형 

     

    나. 만든 주체에 따른 분류 

      1) built in type 내장 자료형 

      2) custom data type 사용자 정의 자료형 

    'swift' 카테고리의 다른 글

    [Swift] Integer types, Floating-point types  (0) 2024.03.03
    [Swift] Number literal  (0) 2024.03.03
    [Swift] Naming Convention(CamelCase)  (0) 2024.03.02
    [swift] Variable, Constant  (0) 2024.03.02
    [Swift] Special Character  (1) 2024.03.02
Designed by Tistory.