0x08같은 숫자 0x0n는 무슨 값인가요?
이 예시에서 0x00부터 0x16는 16진수 값인가요? 16진수라면 0x16은 불가능한 것 아닌가요? 그냥 정수를 다르게 표현하는 방식인가요? 진수랑 관련있는 것 같긴한데 저런식으로 숫자를 쓰는 이유랑 종류이름이 궁금합니다.
안녕하세요.
네 맞습니다.
0x 를 앞에 붙이는건 16진수 표기법입니다.
0x16은 (16의 1승) * 1 + (16의 0승) * 6 이라 생각해주시면 됩니다.
0x10 다음은 0x11이 아닌 0xA입니다. 다음은 0xB이고.. 0xF 다음이 0x10입니다.
=> 16진수는 0부터 15까지 범위를 가지며 10부터 A 11은 B 이런식이죠
16진수를 사용하는 이유는
컴퓨터가 0과 1로 이루어진 비트를 기반이기 때문에 이를 16진수로 나타내면 효율적이기 때문입니다. 사람이 보기에도 좋죠
예를들어
11010001 이란 8자리 비트는
4자리 비트단위로 나누어서 보면..
1101 => 16진수로 D
0111 => 16진수로 1
이를 조합하여 0xD1로 표현할 수 있는거죠.
안녕하세요.
16진수는 1-9까지, 그리고 10은 A로 11은 B로 표현하고, 16이되면 한자리가 올라가게 됩니다.
즉 0x16은 가능한 숫자이구요, 십진수로 환산하면 1*16 + 6 으로 22가 됩니다.
16진수를 쓰는 이유는 bit를 표현하기 더 쉽고, 색상같은 경우에 8비트 단위로 표현이 되므로 16진수로 표현하는 것이 더 편하기 때문입니다.
0x16 의 경우 10진수로 변경하게 되면 22라는 숫자가 나오게 됩니다.
0x16은 16 + 6 = 22 라고 생각하면 될 것 같습니다.
16진수라고 해서 최대값이 16이 아닙니다.
한자리당 0~F 까지의 값이 들어갈 수 있는 것이라고 보면 좋을 것 같습니다.
10진수라고 해서 최대값이 10이 아닌 것과 동일하다고 보면 됩니다.
이 예시에서 0x00부터 0x16는 16진수 값인가요? 16진수라면 0x16은 불가능한 것 아닌가요? 그냥 정수를 다르게 표현하는 방식인가요? 진수랑 관련있는 것 같긴한데 저런식으로 숫자를 쓰는 이유랑 종류이름이 궁금합니다.
=>0x 라는건 0x 이후의 숫자나문자는 전부 16진수로 표현됩니다 라는걸 선언하는것이구요
아래 16진수별 10진수 적어놨으니, 살펴보시면 이해가 빨리 될겁니다
16진수는 0 ~ 9 , A ~ F 로 이루어져있습니다 16진수 10진수 0x00 => 0 0x01 => 1 0x02 => 2 0x03 => 3 : : 0x09 => 9 0x0a => 10 0x0b => 11 0x0c => 12 0x0d => 13 0x0e => 14 0x0f => 15 0x10 => 16 0x11 => 17 0x12 => 18 0x13 => 19 : : 0x19 => 25 0x1a => 26 0x1b => 27