=> 10진수, 8진수, 16진수
#include <stdio.h>
int main() {
printf("%o\n",10);
printf("%x\n",10);
printf("%X\n",10);
return 0;
}
출력 결과
12
a
A
#include <stdio.h>
int main() {
printf("%.1lf\n",1e6);
printf("%.7lf\n",3.14e-5); //그냥 %lf로 하면 소수점 이하 여섯째 자릿수까지만 출력돼서 0.000031까지만 출력됨
printf("%le\n",0.0000314);
printf("%.2le\n", 0.0000314); //3.14까지만을 원하므로 le앞에 .2를 붙여준다
return 0;
}
출력 결과
1000000.0
0.0000314
3.140000e-05
3.14e-05
정수 상수-> 4바이트
실수 상수-> 8바이트
문자 상수-> 4바이트 (정수와 같은 방식, 아스키 코드 값으로 변환되기 때문)
-> 모두 2진수로 바꾼 후 빈 공간은 모드 0으로 채움
양수-> 32비트이므로 4294967295(2^32-1)까지 표현 가능, 이보다 큰 공간이 필요하면 데이터의 크기를 8바이트로 만들기 위해 정수에 접미사 LL/ll을 붙여 사용한다.
이렇게 하면 절댓값과 원래 음수를 이진수 연산 했을 때 딱 0이 나온다.
실수 상수는 single, double, quad의 3 가지 형태 중 double(8바이트)이 가장 자주 사용된다.
실수 상수는 가장 첫 비트가 부호 비트(0-> 양수, 1-> 음수), 그 뒤의 11비트가 지수 부분, 나머지가 소수 부분이다.