우선 쉽게말해서 비트란 0과 1을 나타낼수 있는 스위치야.
일반적인 컴퓨터는 전기가 흐르냐 흐르지 않느냐밖에 볼수 없기에 2진수인 1과 0을 사용해.
그렇기에 1비트인 불리안이 1과 0, 켜짐과 꺼짐밖에 나타내지 못하는거야
그렇다면 이 비트가 8개인 Int는 어떨까?
우선 비트가 늘어남에 따라 나태낼수 있는 숫자를 봐야해
1비트의 경우
0
1
이렇게 0~1까지 2가지밖에 나타낼수 없어
하지만 2비트의경우
00
01
10
11
0~3까지 4가지를 나타낼수있고
3비트의경우
000
001
010
011
100
101
110
111
0~7까지 8가지를 나타낼수있고
4비트가되면
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
이렇게 0~15까지 나타낼수 있어
비트가 1 늘어날때마다 나타낼수 있는 수의 조합은 2배씩 늘어나
즉 8비트인 Int는 2의 8제곱인 256개
즉 0~255까지 나타낼수 있는거야
실제로 1비트인 불리안 8개로도 256가지 일을 할수 있어
하지만 그렇게하려면 사용자가 모든 수의 조합을 외워야하니 그냥 가능하다는것만 알아두면돼
그렇다면 왜 파라미터에서 같은 비트를 먹을때 더 많은 숫자를 나타내는 Int를 놔두고 Bool을 쓰는걸까?
그건 이렇게 생각하면 돼
Int는 다이얼 스위치라서 거실의 0번부터 255번까지의 전등을 순서대로 하나씩만 킬수 있어
분명히 킬수 있는 전등의 가짓수는 256개로 많지만 너가 예를들어 2번과 6번 전등을 같이 키고싶어도 이건 다이얼 스위치라 한번에 하나밖에 킬수가 없어
반면에 Bool 8개로 각각 0~7번까지의 전등을 킬수있게 만들었다면
킬수 있는 전등의 가짓수는 8개밖에 안되지만
스위치가 8개라서 이 8개의 조명을 개별적으로 키고 끌수 있는거야
이 글이 어떨때 Int를 쓰고 Bool을 쓸지 도움이 됐으면 좋겠음