[C#] 3-1. 정수의 승격

치치·2024년 11월 19일
0

C#

목록 보기
4/16
post-thumbnail

ex)

float A = 1/2;
  • 연산을 진행하는 피연산자의 자료형은 int형 (1과 2)
  • -> 1/2를 연산한 후 결과값의 정수부분은 0
  • -> int 와 int 끼리의 연산이니 결과값도 int가 되어야함

즉, 결과값은 0으로 정수 연산이 먼저 이루어진 것.
이것이 float타입으로 변환되어 결과값은 0.0f가 된다

-> 그렇기 때문에 연산하는 1과 2중 하나라도 float로 만들어준다면 암묵적 형 변환이 발생하여 실수 연산이 이루어진다

실수 연산

float A = (float)1/2;
  • 제대로된 값인 0.5가 출력

📌 정수의 승격

  • 연산이 일어날 때 컴퓨터는 효율성을 위하여 적절한 자료형으로 형변환을 거친 다음 연산을 진행
  • char형이나 short 타입에서는 int로 승격된다
char C = A + B;
  • A와B는 char형 변수
  • 실제로 char형 데이터 연산x
  • A와 B를 int형으로 변환 후 int형 연산진행
  • 그런 후 char로 변환 후 C에 대입

여기서는 A와 B는 char형 타입이지만, int형으로 승격한 후 int형 연산을 진행한 뒤 결과값을 C에 넣을때는 char형으로 변환해서 넣는 것

profile
뉴비 개발자

0개의 댓글