프로그래밍 언어/Python

[Python] 수 자료형

말하는 알감자 2023. 2. 11. 16:46

수 자료형

  1. 정수형

: 정수형(Integer)은 정수를 다루는 자료형

ex) 양의 정수, 음의 정수, 0

+) 코딩 테스트에서 출제되는 많은 문제들은 정수형을 주로 다룸

< 코드 >

    # 양의 정수
    a = 1000
    print(a)

    #음의 정수
    a = -7
    print(a)

    # 0
    a = 0
    print(a)

< 실행 결과 >

    1000
    -7
    0
  1. 실수형

: 실수형 (Real Number)은 소수점 아래의 데이터를 포함하는 수 자료형

(1) python에서 변수에 소수점을 붙인 수를 대입하면 실수형 변수로 처리됨

(2) 소수부가 0이거나, 정수부가 0인 소수는 0을 생략하고 작성 가능

< 코드 >

    #양의 실수
    a = 157.93
    print(a)

    #음의 실수
    a = -1837.2
    print(a)

    #소수부가 0 일때 0을 생략
    a = 5.
    print(a)

    #정수부가 0일 때 0을 생략
    a = -.7
    print(a)

< 실행 결과 >

    157.93
    -1837.2
    5.0
    -0.7
  1. 지수 표현 방식

: 유효숫자e지수 = 유효숫자 x 10^지수

(1) 파이썬에서는 e 나 E를 이용한 지수 표현 방식 이용가능

(2) e나 E다음에 오는 수는 10의 지수부 의미

ex) 1e9 = 10^9

(3) 지수 표현 방식은 실수형이고, 임의의 큰 수를 표현하기 위해 자주 사용

(4) 최단 경로 알고리즘에서는 도달할 수 없는 노드에 대하여 최단 거리를 무한(INF)로 설정하곤 함

(5) 가능한 최댓값이 10억 미만이라면 무한(INF)값으로 1e9 이용가능

< 코드 >

    # 1,000,000,000의 지수 표현 방식
    a = 1e9
    print(a)

    #752.5
    a = 75.25e1
    print(a)

    #3.954
    a = 3954e-3
    print(a)

< 실행 결과 >

    1000000000.0
    752.5
    3.954
  1. 실수형 더 알아보기

1) 오늘날 가장 널리 쓰이는 IEEE754 표준에서는 실수형을 저장하기 위해 4바이트, 혹은 8바이트의 고정된 크기의 메모리를 할당하므로,

컴퓨터 시스템은 실수 정보를 표현하는 정확도에 한계를 가짐

ex) 10진수 체계에서는 0.3과 0.6을 더한 값이 0.9로 정확히 떨어짐

- 2진수에서는 0.9를 정확히 표현할 수 있는 방법이 없음

- 컴퓨터는 최대한 0.9와 가깝게 표현하지만, 미세한 오차 발생

ex) 1/3

=> 10진수 체계 0.33333...

=> 2진수 체계도 정확히 표현하려고 하지만 미세한 오차 발생

< 코드 >

   a = 0.3 + 0.6
   print(a)

   if a == 0.9:
      print(True)
   else:
      print(False)

< 실행 결과 >

   0.8999999999999999
   False

2) 개발 과정에서 실수 값을 제대로 비교하지 못해서 원하는 결과를 얻지 못할 수 있음

=> round() 함수를 이용할 수 있고, 이러한 방법이 권장됨 (소수점 아래 몇 자 까지만 값이 보장된다 명시)

ex) 123.456을 소수 셋째 자리에서 반올림하고싶다 => round(123.456,2)

결과는 123.46(소수점 아래 셋째자리에서 반올림해서, 소수점 아래 둘째 자리까지 출력)

< 코드 >

   a = 0.3 + 0.6
   print(round(a, 4))

   if round(a, 4) == 0.9:
      print(True)
   else:
      print(False)

< 실행 결과 >

   0.9
   True
  1. 수 자료형의 연산

    (1) 수 자료형에 대하여 사칙 연산나머지 연산자 사용 많음

    (2) 나누기 연산자(/)를 주의해서 사용!

    • python에서 나누기 연산자(/)는 나눠진 결과를 실수형으로 반환

    (3) 다양한 로직을 설계할 때, 나머지 연산자(%) 를 이용해야 할 때가 많음

    • a가 홀수인지 짝수인지 판단할 때

    (4) python에서 몫을 얻기 위해 몫 연산자(//) 사용

    (5) 거듭 제곱 연산자( ** ) 를 비롯해 다양한 연산자들이 존재

    < 코드 >

    a = 7
    b = 3
    
    # 나누기
    print(a / b)
    
    # 나머지
    print(a % b)
    
    # 몫
    print(a // b)

    < 실행 결과 >

    ```python

  2. 3333333333333335
    1
    2
    ```

    ```python
    a = 5
    b = 3

    거듭 제곱

    print(a ** b)

    제곱근

    print(a ** 0.5)

    < 실행 결과 >

    ```python
    125

  3. 23606797749979
    ```

'프로그래밍 언어 > Python' 카테고리의 다른 글

[Python] 자료형  (0) 2023.02.11