언어/열혈C
열혈C 이제야 시작
ITbo
2023. 2. 2. 21:28
몇 개월 전에 조금 열혈c 깔짝거리다가 오늘 오랜만에 책 다시 핌. 예전에 한 부분이 많지가 않아서 비트 연산 (&, ^, |, <<, >> 이런 거)까지 복습하고 오늘 데이터 표현? 상수와 기본 자료형 파트 봤었음.
아스키 코드에 대해서 알게 됨. char에 저장되는 건 기본적으로 정수지만, 아스키코드에 의해 문자로도 표현이 된다고 함! 근데 또 신기한 게 그 문자들도 상수로서 저장되어 있을 때는 int형으로 저장되있다고 함. 사실 int형이든 어떤 형이든 문자가 정수로 표현되어 있고, 그게 ~127까지만 써도 표현이 되기 때문에 char형으로 쓴다고 이해
궁금했던 점 : 상수의 자료형이 변수에 들어갈 때 데이터가 잘리는 문제
(정수는 기본적으로 int, 실수는 기본적으로 double인데 float변수에 double형인 상수를 넣으면 잘리는)
그 대안으로 접미사를 사용한다고 하는데 ex) float f = 3.15F
데이터 크기가 더 큰 상수에서 작은 변수로 들어가는 건 문제가 된다해도 왜 더 작은 상수에서 큰 변수로 넣는게 문제가 되는지 이해가 안됨. 즉 기본적으로 double형으로 실수인 상수가 long double 변수에 들어가는 것도 문제가 되나? 데이터가 잘릴 것 같지가 않음. 그래서 더 궁금한 게 정수형 접미사에는 char, short가 없음. 기본적으로 큰 상수가 작은 변수로 들어가는 걸 문제 삼으면서 int로 저장되어있는 상수가 short, char에 들어가려면 어떻게 해야하는지 해결책이 X.