* 1비트 = 2진수를 표현할 수 있는 단위
즉, 0과 1(를 나타낼 수 있음)
2진수로의 표현 가능한 자리 → _ (한자리2^1)
* 1바이트 = 1비트가 8개 모인 것
즉, 0과 1을 구분 할 수 있는 2진수의 단위가 8개 모인 것
2진수로의 표현 가능한 자리 → _ _ _ _ / _ _ _ _ (여덟자리=2^8)
Int 자료형 크기, 2진수로 표현
그렇다면 우리가 알고 있는 int 자료형은 4byte인데,
이는 어떻게 생각하면 될까?
4byte = 1byte가 4개가 되는 것이므로, 2^(8*4)가 되는 것.
2진수를 32개 만큼 표현이 가능하다.
그렇다면, 10진수로 나타냈을 때 최대 표현은 얼마인가?
즉, 1111 / 1111 / 1111 / 1111 / 1111 / 1111 / 1111 / 1111
1111 / 1111 / 1111 / 1111 / 1111 / 1111 / 1111 / 1111
1111 / 1111 / 1111 / 1111 / 1111 / 1111 / 1111 / 1111
1111 / 1111 / 1111 / 1111 / 1111 / 1111 / 1111 / 1111
를 10진수로 나타낸다면?
2진수 →10진수 변환 계산기를 이용했다.
2진수의 1을 작성할 수 있는 갯수가 한계가 있어(25개가 한계), 작성되는데 까지 입력해봤을때.
33554431이라는 값이 나왔다.
휴대폰번호의 11자리를 입력하기엔 좀 모자라는 것을 확인했다.
1: 1개와 0: 31개는 입력이 가능해서 돌려봤다. 역시나 천만 이상의 자리를 넘지 못한다.
2의 32승의 크기는 얼마나 클까?
1. 2의 32승의 값 = 4,294,967,296이다. int형의 범위는 아래와 같다.
음수자리를 포함해서 4,294,967,296이다.
2. 2진수의 값을 10진수로 표현했을때 아래와 같은 값을 볼 수 있다.
....
흠.. 계산기로 계산 한 값과 동일하게 2의 24승까지만 계산한 결과를 zetawiki(처음들어봄)에서 확인할 수 있었다.
내가 아직 잘 이해를 못하고 있는건가.
내가 궁금한 것은, int 형의 자료형이 10진수의 얼마만큼의 크기를 담을 수 있는건지 궁금한건데..
적당히 에러가 나면 long 자료형을 사용해야하는건가...
'개발 > Android Studio(Kotlin)' 카테고리의 다른 글
카멜표기법으로 작성해야하는 이유 (0) | 2022.06.24 |
---|---|
JAVA 변수, String만 대문자로 시작하는 이유! (0) | 2022.06.24 |
안드로이드스튜디오에 git 파일 불러오기 (0) | 2022.05.26 |
코틀린 무료 기초 강의 및 후기 / 오프라인 강의도 있어요!(서울지역) (0) | 2022.05.22 |
코틀린 기초 / val, var 차이 (0) | 2022.04.28 |
댓글