2011-12-20 7 views
-3

다가오는 시험에서 16 비트 부동 소수점을 이해하는 데 문제가 있습니다. 변환에서 이진수로 다음 자릿수를 사용 중입니다.16 비트 부동 소수점

11101.111000 = 28.875 . 나는 쉽게 28을 얻었지만 어떻게 '875'를 얻을 수 있습니까?

감사

다수
+0

어떤 방식으로 "get"합니까? 알고리즘으로 10 진수 문자열로 변환 하시겠습니까? – harold

+1

28.875 기지 10, 2 기지 아닌가요? –

+2

이것은 부동 소수점으로 가정 된 십진수 (이진?) 점처럼 보이지 않습니다. 부동 소수점이면 보통 중간에 소수점이 없습니다. –

답변

1

는 디지트의 값은 위치에 따라, 상수로 곱해진다. 이제 십진수 대한 예를 살펴 보자

10 = A * 10 1 + B * 10 0 + C * 10 -1 + D * 10 -2 ab.cd

이진수에 대해서도 비슷하게 작동합니다.

0.111000 -1 = 2 + 2 +-3 = 0.5 + 0.25 + 0.125 2 -2 = 0.875 : 당신의 예에서 이진 소수점의 오른쪽에있는 부분에 대한 .

+0

그래, 그렇긴하지만 그 번호는 어디에서 구할 수 있니? –

+0

그들은 단지 1/2, 1/4, 1/8입니다. 보통 이진수의 역수입니다. –

+0

@ChrisArom 어떤 숫자입니까? 제 답변의 이진 부분이 당신에게서 왔습니다. 2^-1을 의미하는 경우는 기본 2 (즉, 2 진수) 숫자이기 때문입니다. 밑이 10 인 경우 (십진수) 10^-1이됩니다. 8 진수 (8 진수)의 경우 8^-1이됩니다. –

1

곱셈에 의한 2이고, 우측 ----------- 2

분할기는 그래서 0.1110

0.1 = 0.5

0.01 = 0.25 0.001 = 0.125
가지고있다 ----- +
0.875

+0

고마워요! ;) –

관련 문제