기초

4.메모리와 Int Float

섭섭's 2024. 5. 30. 00:42

Memory

 

메모리를 가장 단순하게 정의한다면 0과 1을 정의할 수 있는 반도체 입니다.

 

메모리는 전압차이를 이용하여 데이터를 저장합니다.

전기가 들어오면 1을 저장하며, 전기가 들어오지 않으면 0을 저장합니다.

 

0이나 1을 저장할 수 있는 가장 작은 공간을 Bit 라고 합니다.

Bit는 컴퓨터 공학에서 정보의 기본 단위로 사용되고 있습니다.

 

Bit가 8개 모인 공간을 Byte 라고 하며

프로그래밍 언어에서 기본적으로 사용되는 단위가 Byte 입니다.

 

예시에 나온 비트중에서 가장 왼쪽의 비트를 최상위 비트

가장 오른쪽에 나온 비트를 최하위 비트 라고 부릅니다.

 

음수와 양수, 숫자 0을 모두 저장할 수 있으면 Signed type 입니다.

 

음수는 저장하지 않고 양수와 0만 저장하는 것을 Unsigned type 입니다.

 

대부분의 컴퓨터는 최상위 비트를 사용하여 양수와 음수를 표현합니다.

최상위 비트의 값이 0이면 양수, 1이면 음수 입니다.

이러한 역할을 하는 비트를 부호비트(Sign Bit) 라고 합니다.

 

실수를 저장하는 방법

일상생활에서 실수를 저장하는 방식을 고정소수점이라고 합니다.

 

하지만 컴퓨터는 고정소수점을 메모리에 저장할 수 없습니다.

 

그렇기 때문에 부동소수점 방식으로 지수와 가수를 나누어서 저장합니다.

 

실수를 저장할 때는 지수와 가수로 나누어서 저장합니다.

 

동일한 메모리 크기에서 정수보다 더 넓은 범위를 저장할 수 있습니다.

 

부동 소수점에는 오차가 있어서 100%정확한 값을 저장할 수 없습니다.

 

자료형

모든 데이터 크기에 맞는 메모리를 준비하는 것은 불가능 합니다.

 

그래서 미리 정해진 몇가지 크기로 메모리 공간을 분류하고 

 

여기에 이름을 붙여 자료형 이라는 형태로 제공하고 있습니다.

 

자료형은 Data Types 줄여서 Type 라고 부릅니다.

 

자료형은 데이터를 저장하는 방식과 메모리의 크기를 결정합니다.

 

자료형은 저장할 메모리에 따라서 크게 다섯가지로 구분할 수 있습니다.

 

이러한 자료형들은 스위프트가 기본적으로 제공하고 있으며 

내장 자료형(Built-in Data Type)으로 분류할 수 있습니다.

 

구조체와 클래스로 직접 자료형을 만드는것은 

사용자 정의 자료형 (Custom Data Type)입니다.'

 

Numbers

10진수 실수는 지수형태로 표현 할 수 있습니다.

엄청 크거나 작은 값을 비교적 짧게 표현하고 싶을 때 

1.23E 또는 1.23e로 대체됩니다.

지수는 E 다음에 따라옵니다.

1.23E4

 

16진수 실수는 

0xAp 또는 0xAP 라고 하며

지수는 P 뒤에 따라옵니다.

0xAp2

 

스위프트에서 금액을 표시할 때는

_를 사용합니다.

1_000_000

 

코드에서는 보통 10진수를 사용하지만 필요하다면 2진수,8진수,16진수도 자유롭게 사용할 수 있습니다.

 

10진수 10을 2진수로 표현할 시 

0b1010 이며

8진수로 표현할 시

0o12

16진수로 표현하면 

0xA

입니다.

16진수는 엄청나게 큰 값을 적을 때 사용되고 있습니다.

 

Integer Types

숫자를 저장하는 자료형은

정수를 저장하는 정수자료형 int 타입이 있습니다.

int의 범위 입니다.

 

Int 8로 양수를 저장하는것 보다 UInt8로 양수를 저장하면 더 많은 양수를 저장할 수 있습니다.

 

실수를 저장하는 Floating-point Types 입니다.

 

스위프트에서 실수를 저장하는 자료형은 Float 와 Double이 있습니다.

 

크기는 Float는 4바이트 , Double은 8byte입니다.

 

 

 

'기초' 카테고리의 다른 글

6.Operators  (0) 2024.06.01
5.Boolean,String,Type Inference  (0) 2024.05.31
3.Scope -1  (0) 2024.05.26
2. 이름 정의 규칙  (0) 2024.05.26
1.변수와 상수를 선언하는 문법  (0) 2024.05.26