My footsteps
printf 본문
1바이트 | 2바이트 | 4바이트 | 6바이트 | |
논리형 | boolean | |||
문자형 | char | |||
정수형 | byte | short | int | long |
실수형 | float | double |
- 정수형 디폴트는 int 실수형 디폴트는 double
- 컴퓨터 언어는 0과1만 존재하기 때문에 변수에 3이나 5 이런걸 넣으면 2진수로 변환되어서 해석함
하지만 모두 2진수로 저장되는건 아님. 타입마다 다름
- n비트로 표현할수 있는 양수 정수의 범위 : 0 ~ 2n-1 (n제곱이라는뜻. 위에 안올라가네 ㅋㅋ)
예를들어 8비트면 2의 8승인데(256) 그러면 표현 값이 0~256이아니라 0까지 포함해야해서 0~255까지임
- n비트로 표현할수 있는 음수(부호있는) 정수의 범위 : -2n-1 ~ 2n-1 -1
- 왼쪽 네모칸안에 있는걸 부호비트(sign bit)라고함
- 부호비트가 0이면 양수 / 1이면 음수
- 문자코드는 음수가 필요없다 아예 코드로 지정해놓은것이기 때문에. 그래서 char는 부호비트가 없음
- int의 값의 범위는 -20억 ~ 20억
- 실수형은 큰범위를 표현할수있는대신 정수와 다르게 오차범위가 있다
- float는 부호,지수,가수 로 표현할수있다. 그래서 범위가 짱큼
- printf : 출력형식 지정가능 (소수점 몇째자리까지 지정 가능)
- printf는 줄바꿈을 하지 않아서 /n 개행문자를 넣어줘야함
- 접두사 같이 출력되게 하려면 # 우물정자 붙여야함
- 실수 출력시 지시자 %f 를, 숫자에 0이 많이 들어가면 지시자 %e를 사용해 지수형태로 출력함
- Integer.toBinaryString( ) : 정수를 2진 문자열로 바꿔주는 메소드
- float는 정밀도가 7자리. double은 정밀도 15자리임. 정확도를 원한다면 더블을 쓸것 (하지만 용량큼)
- 저렇게 생략하고 하는건 실제 값은 다 저장되어 있는데 그냥 지시자로 인해 보여지는것만 안보이는것
%n | 줄 바꿈 |
%b | boolean 출력 |