나무 숲
헷갈리지만 헷갈리면 안되는 것 1) 비트/바이트/니블/워드 본문
헷갈리지만 헷갈리면 안되고 빠르게 생각, 계산할 수 있어야 좋은 내용
비트 (bit) |
|
0 (이진수에서) |
1 bit |
1 (이진수에서) |
0 또는 1인 값
그렇다면 010110은?? 6비트
6비트로 표현 가능한 2진수의 갯수는??? (unsigned일때) 2^6가지 => 64가지
6비트로 표현 가능한 십진수의 갯수??? (unsigned일때) => 64
그렇다면 위 십진수의 범위??? =>0~63
그리고 추가적으로
LSB는 Least Significant Bit
MSB는 Most Significant Bit의 약자로,
이름 그대로 가장 덜 중요하고 가장 중요한 비트를 의미한다.
그렇다면 위 010110에서의 MSB와 LSB가 무엇일까?
그 비트의 가장 큰 부분을 차지하는 비트가 MSB이고 가장 작은 부분을 차지하는 비트가 LSB.. 쉽게 말해서 가장 왼쪽 비트가 MSB 가장 오른쪽 비트가 LSB입니다. 부족하지만 궁금하신 분들을 위해 큰 부분을 차지~ 작은 부분을 차지~ 한다는 의미가 무엇인지 말씀드리겠습니다.. 생각해보면 위 이진수를 십진수로 표현하고자 할 때, 가장 왼쪽 비트는 (해당자리 비트)*(2^5)이고 오른쪽은 (해당자리 비트)*(2^0)입니다. 010110이라는 이진수는 십진수로 22인데, MSB가 0이므로써=32라는 숫자가 들어가지 않으므로서 32보다는 작은 22라는 숫자라는 뜻입니다.. 만약 MSB가 1이라면 54가 될 텐데 54와 22의 차이는 꽤 큽니다. MSB가 굉장히 큰 영향을 미치는 것을 알 수 있죠.. 22에서 LSB는 0인 상태인데, LSB가 1이 되어도 22에서 23이 되는 미미한 차이가 나타납니다.
바이트 (byte) | |
8 bit | 1 byte |
4바이트는?!!!!! ==> 8*4 = 32비트
c/c++ 언어에서 int(정수형)은 4바이트이다. 비트로 하면 32비트
unsigned일 때 해당 변수에 저장된 정수를 이진수로 바꾸면 최대 32비트까지만 저장된다는 의미로, 2^32까지 저장되는데 이는 십진수로 약 42억
+) 비트 바이트 안헷갈리면 좋은 점이 숫자를 다룰 때, 그 숫자가 얼마나 크느냐에 따라 어떤 자료형을 사용할지 알 수 있어서.. 라고 저는 아직은 그렇게 생각합니다;
니블 (nybble) | |
4 bit | 1 nybble |
1 니블은 4비트로 1바이트의 절반을 의미한다
많이 나오지는 않고 가끔 프로그래밍 문제풀기 할 때 무슨 수의 상위 니블을 구하시오~처럼 나온다
그러면 그 정수를 이진수로 변환했을 때 상위 4비트를 구하면 된다. 하위 니블은 하위 4비트
1 니블은 2^4 비트로, 16개의 이진수 가짓수를 갖는다
십진수 측에서 보면 16개의 십진수로, 0에서 15까지의 범위를 가질 수 있는... 따라서 하나의 16진수와 일치한다고 볼 수 있다
워드 (word) | |
32 bit | 1 word |
해프 워드 (half word) | |
16 bit | 1 half word |
더블 워드 (double word) | |
64 bit | 1 double word |
위 세 가지는 주로 ARM을 공부하다보면 나온다
'Career > 프로젝트 · 팁 · 후기' 카테고리의 다른 글
iptime 공유기 비밀번호 설정/비밀번호 변경 (0) | 2017.04.05 |
---|---|
헷갈리지만 헷갈리면 안되는 것 4) 파일 사이즈 (KB, MB, GB...) (0) | 2017.03.24 |
헷갈리지만 헷갈리면 안되는 것 3) 2차원 배열 좌표, 행, 열 (3) | 2017.02.24 |
헷갈리지만 헷갈리면 안되는 것 2) 기본 논리 회로 (0) | 2017.02.18 |
web compiler, IDE 소개 (0) | 2017.02.11 |