22.10.04 - 데이터타입(숫자)

LaMelo·2022년 10월 4일
0

jupyter

목록 보기
2/29
post-thumbnail

데이터 타입

> 숫자형

  • 종류 (정수와 실수는 10진수로 인식, 8진수 16진수, 2진수는 형식을 정해놓음 : 8비트는 1바이트)
    • 정수 : 0, 양수, 음수인 숫자
    • 실수 : 소숫점을 포함하는 숫자
    • 8진수(0o 또는 0O(대문자o) 으로 시작) : 0o34, 0o25
    • 16진수 (0x로 시작) : 0x2A, 0xFF
    • 2진수 :(0b로 시작) : 0b10, 0b11

정수형

  • 정수형은 세 가지이다. 양수, 음수, 0
  • 코드를 짜는 형식은 : (변수) = 지정값
    • 변수를 지정한다는 것은 해당 자료값에 이름표를 다는 것과 같다.
    • 가령 사과를 사과박스에 넣어놓는다면 변수를 출력할 경우 박스를 꺼내보라는 말과 같다. 즉 사과박스(a)내놔라는 뜻은 안에 있는 사과(10)를 달라는 뜻이다.
    • 반면 위의 경우처럼 사과박스 자체를 달라고 하는 경우도 있다. 이는 사과를 꺼내 달라는 것이 아닌 종이재질의 사과를 담는 박스를 달라고 하는 경우로 a 그 자체를 출력하고자 할때 쓴다.
    • 이는 둘의 타입을 비교해보면 다름을 확연하게 알 수 있다.

실수형

  • 양의 실수, 음의 실수 : float (부동소수점:floating point)
    • 실수들을 변수로 지정하여 타입을 알아보고 정수형과 비교해보자.
    • 정수와 실수가 다른 숫자로 인식되는 이유는 할당된 메모리 자리수가 다르기 때문이며 좀 더 구체적이고 정확한 이유를 알고자 한다면 2의 보수방식, 실수 이진수 표현 2개 키워드로 검색하면 확인할 수 있다.

> 연산자

  • 산술 : +, -, *, /, //(몫), %(나머지)
  • 비교 : ==(값이 같은지), !=(값이 다른지), <=, >=, <, >
  • 논리 : and, or
  • 할당 : =, +=(누적합), -=(누적차), *=(누적곱), /=(몫만 남기기), %/=(나머지만 남기기)

1) 산술연산자 : 숫자를 계산하기 위한 문법 기호

  • 더하기(+) :
    • 정수 + 정수 => 정수로 출력
    • 실수 + 실수 => 실수로 출력
    • 정수 + 실수 => 실수로 출력(실수로 출력하는 것이 오차가 적다.)

  • 왜 정수와 실수를 더하면 실수로 출력되는가?

    • 1010(2) + 1010(2) = 10100(2) 결과값은 5자리이지만 메모리 할당이 4칸만 되어 있다면 결과값에 왜곡이 생긴다.
    • 그러므로 자릿수가 작은 숫자를 큰 숫자에 맞춰줘야 오류를 최소화할 수 있다.
    • 또한 자릿수를 비교할때 오른쪽부터 붙여서 비교하므로 다른 자료를 연산할 수 없다. -> 오류가 발생할 확률이 높다.
    • 결국 덧셈은 같은 자료끼리만 할 수 있다. 자릿값이 다르기 때문에 왜곡이 일어날 수 있으므로
  • 빼기(-)

  • 나누기(/)

  • 곱하기(*)

  • 기타 : 나눗셈(몫/나머지), 지수(제곱/제곱근)

2) 비교연산자 : 자료를 비교하기 위한 문법 기호

- 결과가 숫자가 아니라 bool type의 결과를 가진다.

bool type (>꺽쇠 사용 시 바 생김, 파이썬만 참 거짓 조건 시 대문자 사용한다 : True, False)

- True : 0이 아닌 숫자, 참인 조건식 등
- False : 0, 거짓인 조건식 등
  • 값에 대한 비교 : ==, !=

  • 크기에 대한 비교 : >, <, >=, <=

3) 논리연산자

  • 여러 개의 조건식을 활용하기 위한 명령어
  • bool type 결과를 반환 : True, False

  • and는 조건 다 만족해야 참 , or은 조건 중 하나만 만족해도 참

4) 할당연산자

  • 변수 할당 : 변수명(왼쪽)에 변수값(오른쪽)을 할당/선언/저장 : = -> 코드는 왼오 위아래로 읽지만 유일하게 = 만 뒤에서부터 앞으로 읽는다.

  • 누적 연산 (+=, -=, *=, /=)

    • 단일 연산 시 x = 10이고 result = 0 이기 때문에 합계에 의한 reuslt 값은 10이다.
    • 누적 연산시에는 오른쪽부터 계산하고 왼쪽 변수가 저장되기 때문에 rusult 값은 0 -> 0+10 -> 10+10 즉 누적 합계로 20이 된다.

  • 누적 연산 활용

오늘의 퀴즈

1. 홍길동의 시험 성적 평균을 구하시오

영어 80 / 국어 72 / 수학 90 / 사회 66점

  • 변수를 사용해서 과목의 평균을 구해보세요.

  • 출력 양식

    총합 308

    평균 77

    • 변수 설정
    • 총합
    • 평균
    • 출력

~완성~

profile
가즈아~

0개의 댓글