본문 바로가기

Semiconductor/ETC

Decimal to Binary conversion( Decimal point)

 십진수의 소수점은 2를 곱하고 그 계산된 수의 정수 부분을 취하면 이진수의 소수점이 됩니다.

 

0.625 * 2 = 1.25

 

 여기서 정수 부분 1이 이진수의 소수점 첫 째 자리가 됩니다. 그 이후로 1을 버리면 0.25가 되고 다시 2를 곱하고 같은 방식으로 계산을 진행하면 됩니다.

 

0.25 * 2 = 0.5

 

 정수부분 0이 이진수의 소수점 둘 째 자리 정수부분이 0이므로 그대로 2를 또 곱합니다. 

 

0.5 * 2 = 1.0

 

 정수부분 1이 이진수의 소수점 셋 째 자리가 되고 이제 계산은 마무리 됩니다. 소수부분이 0이므로 2를 곱해도 0이 되며 즉, 2를 계속 곱하면서 1.0이 나오면 계산이 종료됩니다. 따라서 구하려는 답은 

 

0.625( 10) = 0.101

 

 0.05에 2를 곱해봅시다. Carry가 발생하면 1을 발생하지 않으면 0을 적어주세요.

 

0.05 * 2 = 0.10 .... 0

0.1 * 2 = 0.2 ......... 0

0.2 * 2 = 0.4 ......... 0

0.4 * 2 = 0.8 ......... 0

0.8 * 2 = 1.6 ......... 1

0.6 * 2 = 1.2 ......... 1

0.2 * 2 = 0.4 ......... 0

0.4 * 2 = 0.8 ......... 0

0.8 * 2 = 1.6 ......... 1

0.6 * 2 = 1.2 ......... 1

0.2 * 2 = 0.4 ......... 0

 

 0.05는 뒤쪽에서 0011이 계속 반복되는것을 확인할 수 있습니다. 굳이 2진수로 표현하자면

 

0.0000110011001100110011이 됩니다.

'Semiconductor > ETC' 카테고리의 다른 글

Linux 명령어  (0) 2020.12.19
LFSR( Linear Feedback Shift Register)  (0) 2020.10.26
Double Dabble  (0) 2020.10.25
Carry lookahead Full Adder  (0) 2020.10.22