1
由已知,则有:21M+2=5N+3=X
即有 21M=5N+1
M,N均为整数,由上式知凡是与21乘积尾数为1或者6者均为上式解,则有M=1,6,11,16,21,26,31...5K+1(K=0,1,2,3.)....则相应X为
X=21M+2=21(5K+1)+2,K=0,1,2,3,4.
则得其为23,128,233...
即有
等差数列 23+105K(K=0,1,2,3...)均为其解.
2
十进制小数N转化为二进制数,反复将N乘以2,得到的整数,顺排列.
例1-5 将十进制小数0.5625转化为二进制数.
0.5625×2=1.125 整数部分为1,小数部分为0.125
0.125×2=0.25 整数部分为0,小数部分为0.25
0.25×2=0.5 整数部分为0,小数部分为0.5
0.5×2=1.0 整数部分为1,小数部分为0
因此,0.5625的二进制表示形式为0.1001
如此继续下去,直到小数为0时或满足精度要求(有时小数部分永远也不会为0),由此可以看出,反复乘二得整数部分,并将其按得到的先后顺序排列起来为a1a2a3…,就是N的二进制表示.
一般来说,十进制数的小数部分是很难转化成有限位n进制数的.
举十进制到二进制的转化为例子.
十进制数0.3转化成二进制数的方法如下:
0.3×2=0.6……整数部分为0,记0;
0.6×2=1.2……整数部分为1,记1;
0.2×2=0.4……整数部分为0,记0;
0.4×2=0.8……整数部分为0,记0;
0.8×2=1.6……整数部分为1,记1;
小数0.6部分出现循环,所以十进制数0.3转化为2进制数为:0.0100110011001……其中1001循环.
若是n进制,只要用小数部分乘这个数n,扣除整数部分后再乘这个数n.
一般情况下是得不到有限位的.