程序中,十进制转换二进制,十六进制转换十进制的心算方法???

2025-01-19 22:17:11
推荐回答(2个)
回答1:

我这里有各种数据的相互转换文件 你可以看一下各种数制的相互转换1. 不同的进位制,其基数是不同的,如十进制的基数为“10”,二进制的基数为“2”。一个数又可以表示成一个有规则的序列。例如:十进制数13.25可以表示成: (13.25)10=1*101+3*100+2*10-1+2*10-2
用一个括号右下角标的数字表示这个数是多少进制的数。例如:(13.25)10代表十进制数。那么依此类推,对于一个k进制的数可以表示为:
L=mn-1kn-2+...+m0k0+m1k-1+m2k-2+...+mpk-p
其中,k为基数,m只能是0~k-1的数字。
2.十进制数转换成二进制数
对于十进制整数,可用除2取余法将其转换为二进制数:将十进制数除以2,得到一个商数和余数。再将商数除以2,又得到一个新的商数和余数。如此继续进行下去,直到商等于零为止。将所得各次余数,以最后余数位置为最高位,最先余数为最低位,依次排列,就是所求二进制数的各位数字。
对于十进制纯小数,用乘2取整法将其转换为二进制数:先用2乘十进制纯小数,然后去掉乘积中的整数部分,再用2乘以剩下的纯小数部分。如此继续进行下去,直到满足所要求的精度或直到纯小数部分等于零为止。把每次乘积的整数部分由上而下依次排列起来,即得到所求的二进制纯小数的小数点后各位数字。
例如:(0.375)10=(0.011)2
3.八进制数.十六进制数转换为二进制数
二进制数和八进制数,十六进制数之间分别存在着一种特殊关系,即24=16,23=8.
于是,1位十六进制的整数或小数,只要把每1位十六进制的数用相应的4位二进制数代替,就可以转换为二进制数。同理,把1位八进制数用相应的3位二进制数代替,就可以转换为二进制数。
例如:(1) (3AB)16=(0011 1010 1011)2=(11 1010 1011)2
(2) (135)8=(001 011 101)2 4.二进制数转换成十六进制数,八进制数
二进制数的整数部分由小数点向左,每4位一分,最后不足4位的前面补0;小数部分由小数点向右,每4位一分,最后不足4位的后面补0,然后把每4位二进制数用相应的十六进制数代替,即可转换位十六进制数。
例如:(11011 1110 0011.1001 01111)2=(1BE3.978)16
二进制数转换成八进制数,将二进制数由低位到高位,每3位划分成一组,不够3位的以0补齐,然后求出每组的八进制数,将这些八进制数由高位到低位连写起来就是八进制数。

回答2:

还心算?真逗~估计没戏~反正我不行~哈哈~你就用计算器吧~系统不是自带么