• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

casting 원리 질문

22.08.22 16:03 작성 조회수 153

0

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
 
casting 에 대해서 궁금한게 생겼습니다.
모든 date 는 메모리에 1과0으로 저장이 되는데
date type 의 차이는 저장된 메모리를 어떤 방식으로 출력하냐의 차이인가요?
예를들면 65라는 수는 char type, int type 모두
0000 0000 0100 0001 로 저장이 되지만
이를 출력할때 char type 으로 선언하면
아스키테이블을 거쳐서 A로 출력되는거고
int type 으로 선언하면 이진수계산을 통해 65로 출력되는 그런 형식인지 생각이 되서
casting 이라는게 강제로 메모리출력방식을 바꿔주는건가 궁금합니다.
 
*1 00001011 000 1010 1011 0100 0000 0000
이렇게 저장된 long type 의 변수가 이진수로 저장이되던게
double type 으로 casting 하면 부호,지수,가수부분을 계산한 부동소수점수로 표현이되는지..?

답변 1

답변을 작성해보세요.

1

강민철님의 프로필

강민철

2022.08.23

date(날짜)가 아닌 data(데이터)에 대해 질문하셨다는 전제 하에 답변드리겠습니다.

 

네, 말씀해주신 예시대로 65라는 숫자를 int 형으로 선언하면 해당 (0과 1로 표현된) 데이터는 정수로 간주되고, char로 선언하면 문자로 간주됩니다. 

 

double, long타입도 마찬가지로, 0과 1로 표현된 값을 결국 어떤 값으로 간주하느냐에 따라 형이 나뉩니다.

 

출력할 적에 정수형으로 간주한 값을 출력하면 정수가 나오고

문자로 간주한 값을 출력하면 문자가 나오지요.

차경원님의 프로필

차경원

질문자

2022.08.23

감사합니다 이해가 됐습니다