54 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			54 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| 
								 | 
							
								---
							 | 
						|||
| 
								 | 
							
								title: Converting from Decimal to Binary
							 | 
						|||
| 
								 | 
							
								localeTitle: 从十进制转换为二进制
							 | 
						|||
| 
								 | 
							
								---
							 | 
						|||
| 
								 | 
							
								## 从十进制转换为二进制
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								您可以使用余数将十进制数转换为二进制数。
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								### 一般方法
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								1)将原始十进制数除以2并记录商和余数。 2)重复第一步,用你找到的最后一个商替换原始十进制数,直到得到一个等于0的商。 3)将你记录的最后一个余数作为你的MSB(最高位)和你记录的第一个余数作为你的LSB(最低有效位)。记下与生成它们的顺序相反的余数。
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								### 例子
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								将十进制数30转换为二进制数。
							 | 
						|||
| 
								 | 
							
								```
							 | 
						|||
| 
								 | 
							
								30 / 2 = 15 r 0 
							 | 
						|||
| 
								 | 
							
								 15 / 2 = 7 r 1 
							 | 
						|||
| 
								 | 
							
								 7 / 2 = 3 r 1 
							 | 
						|||
| 
								 | 
							
								 3 / 2 = 1 r 1 
							 | 
						|||
| 
								 | 
							
								 1 / 2 = 0 r 1 
							 | 
						|||
| 
								 | 
							
								 
							 | 
						|||
| 
								 | 
							
								 Writing out the remainders bottom to top gives you the bit pattern: 
							 | 
						|||
| 
								 | 
							
								 
							 | 
						|||
| 
								 | 
							
								 11110 
							 | 
						|||
| 
								 | 
							
								 
							 | 
						|||
| 
								 | 
							
								 Checking your answer by converting the binary number back to decimal: 
							 | 
						|||
| 
								 | 
							
								 
							 | 
						|||
| 
								 | 
							
								 (1*2^4)+(1*2^3)+(1*2^2)+(1*2^1)+(0*2^0) = 30 
							 | 
						|||
| 
								 | 
							
								 
							 | 
						|||
| 
								 | 
							
								 So your answer is correct. 
							 | 
						|||
| 
								 | 
							
								```
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								将十进制数116转换为二进制数。
							 | 
						|||
| 
								 | 
							
								```
							 | 
						|||
| 
								 | 
							
								116 / 2 = 58 r 0 
							 | 
						|||
| 
								 | 
							
								 58 / 2 = 29 r 0 
							 | 
						|||
| 
								 | 
							
								 29 / 2 = 14 r 1 
							 | 
						|||
| 
								 | 
							
								 14 / 2 = 7 r 0 
							 | 
						|||
| 
								 | 
							
								 7 / 2 = 3 r 1 
							 | 
						|||
| 
								 | 
							
								 3 / 2 = 1 r 1 
							 | 
						|||
| 
								 | 
							
								 1 / 2 = 0 r 1 
							 | 
						|||
| 
								 | 
							
								 
							 | 
						|||
| 
								 | 
							
								 Writing out the remainders bottom to top gives you the bit pattern: 
							 | 
						|||
| 
								 | 
							
								 
							 | 
						|||
| 
								 | 
							
								 1110100 
							 | 
						|||
| 
								 | 
							
								 
							 | 
						|||
| 
								 | 
							
								 Checking your answer by converting the binary number back to decimal: 
							 | 
						|||
| 
								 | 
							
								 
							 | 
						|||
| 
								 | 
							
								 (1*2^6)+(1*2^5)+(1*2^4)+(0*2^3)+(1*2^2)+(0*2^1)+(0*2^0) = 116 
							 | 
						|||
| 
								 | 
							
								 
							 | 
						|||
| 
								 | 
							
								 So your answer is correct. 
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								```
							 |