인프런 커뮤니티 질문&답변

윤동욱님의 프로필 이미지
윤동욱

작성한 질문수

설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)

[HDL 9장] Signed / Unsigned 를 이해하고 연산 실수를 피해보기 (내가 원한 결과 값이 안나와..ㅠㅠ)

bit extension

작성

·

873

1

추가 설명에서

bit extension이 어떤 의미인지 정확히 이해를 못하겠어요.

(4bit signed) 1101 이라고 있다면 8bit로 확장한다면 

10000101 이렇게 확장을 한다는 걸까요??

위는 단순히 제가 8bit로 확장한다고 했을때 생각한것입니다.

 

정확히 0으로 bit extension과 msb bit extension을 이해하지 못하겠어요

답변 2

1

윤동욱님의 프로필 이미지
윤동욱
질문자

아하 이해했네요!

signed (0111) 4bit라고 하면 msb extension이 부호 비트 0 양수이니까 

8bit로 확장하게 되면 0000_0111이렇게 확장한다는 거겠네요 

설계독학맛비님의 프로필 이미지
설계독학맛비
지식공유자

맞습니다 :)

bit extension 과 무관하게 기존 값을 훼손하지 않는 것이 중요하죠.

즐공하세요 :)

1

설계독학맛비님의 프로필 이미지
설계독학맛비
지식공유자

안녕하세요 :)

이해를 위한 사전지식부터 알아볼께요.

사전지식

Signed : MSB (최상위 bit) 가 '1' 이면 음수, '0' 이면 양수를 나타냅니다.

Unsigned : 별도의 MSB 부호가 없습니다. 기본적으로 양수입니다.

 

예를들어 2진수 "1111" 이라는 4bit 이 있다고 해보죠.

10진수로 값을 인식할때 

Signed : -1

Unsigned : 15

여기까지 이해가 되실겁니다. (되셔야 해요..?!)

모르시겠으면 논리회로부터 공부하셔야 합니다. 교수님과의 상담.... 을 추천드립니다.

=============================================================

자, 이제 Bit extension 을 알아보죠!

Rule : "부호" 로 확장합니다.

4bit 을 8bit 으로 Bit extension 해보겠습니다.

2진수  "1111" 이라는 4bit 은 다음과 같이 확장이 되겠네요.

Signed : 1111 1111   (MSB 로 확장)

Unsigned : 0000 1111  (0 으로 확장)

 

그러면 Bit extension 이 값에 영향을 주느냐?! 아닙니다.

10진수로 값을 인식할때 

Signed : -1

Unsigned : 15

 

기존 값을 훼손하지 않으면서 Bit 를 확장시킵니다. 

=============================================================

즐공하세요 :)

 

윤동욱님의 프로필 이미지
윤동욱

작성한 질문수

질문하기