C语言进制的转换
进制的转换:
二进制数
十进制数
八进制数:在C语言中,表示八进制数时,数的前面要加0
十六进制数:在C语言中,表示十六进制数时,数的前面要加0x
///
二进制转换成十进制:
方法:对于一个二进制数,从最后一位开始,依次列为第0、1、2......位; 第n为的数乘以2的n次方; 得到结果后,相加就是十进制数。
例如1*20 1; 1*21 2; 0*22 0; 1*23 8; 0*24 0; 1*25 32; 1*26 64; 0*27 0; 1+2+0+8+0+32+64+0 107
//
十进制转换成R进制:
十进制整数转换R进制数 方法:除R取余数,逆序排列。直到商为0时为止,然后把先得到的余数作为R进制 数的底位,后得到的余数作为R进制数的高位,依次排列。 例如:89 89/2 44 1 44/2 22 0 22/2 11 0 11/2 5 1 5/2 2 1 2/2 1 0 1/2 0 1 结果十进制小数转换R进制数 方法:采用乘R区整,顺序排列。用R乘以十进制小数,可以得到一个积,将积的整 数部分取出,再用R乘以余下的小数部分,又得到一个积,再将积的整数部分 取出,如此进行,直到小数部分全部为0,或达到要求的精度。 然后把取出的整数部分按顺序排列起来,先取出的整数作为R进制小数的高位, 后取出的整数作为R进制小数的底位。 例如:0.8125*2 1.625???取整是1 0.625*2 1.25 取整是1 0.25*2 0.5 取整是0 0.5*2 1.0 取整是1 即0.8125的二进制是0.1101(第一次所得到为最高位,最后一次得到为最低位)
///
十六进制数转换二进制数 将每一位十六进制的数分别用思维二进制素来表示。
二进制转换十六进制数 整数部分:从右向左每四位一组,每一组是一个十六进制数。不足四位时在前面补0。 小数部分:从左向右每四位是一组,每一组是一个十六进制数。不足四位在后面补0。