二进制,八进制, 十进制,十六进制之间的转换算法一、十进制与二进制之间的转换(1) 十进制转换为二进制,分为整数部分和小数部分①整数部分方法:除 2 取余法,即每次将整数部分除以 2 ,余数为该位权上的数,而商继续除以 2 ,余数又为上一个位权上的数, 这个步骤一直持续下去, 直到商为 0 为止, 最后读数时候, 从最后一个余数读起,一直到最前面的一个余数。下面举例: 例:将十进制的 168 转换为二进制得出结果将十进制的 168 转换为二进制,( 10101000 )2 分析: 第一步,将 168 除以 2,商 84, 余数为 0。第二步,将商 84 除以 2 ,商 42 余数为 0。第三步,将商 42 除以 2 ,商 21 余数为 0。第四步,将商 21 除以 2 ,商 10 余数为 1。第五步,将商 10 除以 2 ,商 5 余数为 0。第六步,将商 5 除以 2 ,商 2 余数为 1。第七步,将商 2 除以 2 ,商 1 余数为 0。第八步,将商 1 除以 2 ,商 0 余数为 1。第九步, 读数, 因为最后一位是经过多次除以 2 才得到的, 因此它是最高位, 读数字从最后的余数向前读,即 10101000 (2) 小数部分方法:乘 2 取整法,即将小数部分乘以 2 ,然后取整数部分,剩下的小数部分继续乘以 2, 然后取整数部分,剩下的小数部分又乘以 2 ,一直取到小数部分为零为止。如果永远不能为零, 就同十进制数的四舍五入一样, 按照要求保留多少位小数时, 就根据后面一位是 0 还是 1 ,取舍,如果是零,舍掉,如果是 1 ,向入一位。换句话说就是 0舍1 入。读数要从前面的整数读到后面的整数,下面举例: 例1 :将 换算为二进制得出结果:将 换算为二进制( )2 分析:第一步,将 乘以 2 ,得 , 则整数部分为 0, 小数部分为 ; 第二步, 将小数部分 乘以 2,得 , 则整数部分为 0, 小数部分为 ; 第三步, 将小数部分 乘以 2,得 , 则整数部分为 1, 小数部分为 ; 第四步, 读数, 从第一位读起, 读到最后一位, 即为 。例 2,将 转换为二进制(保留到小数点第四位) 大家从上面步骤可以看出,当第五次做乘法时候,得到的结果是 ,那么小数部分继续乘以2 ,得 , 又乘以 2 的,到 这样一直乘下去,最后不可能得到小数部分为零,因此, 这个时候只好学习十进制的方法进行四舍五入了, 但是二进制只有 0和1 两个, 于是就出现 0舍1 入。这个也是计算机在转换中会产生误差,但是由于保留位数很多,精度很高, 所以可以忽略不计。那么,我们可以得出结果将 转换为二进制约等于 上面介绍的方法是十进制转换为为二进制的方法,需要大家注意的是: 1) 十进制转换为二进制,需要分成整数和小数两个部分分别转换 2) 当转换整数时,用的除 2 取余法,而转换小数时候,用的是乘 2 取整法 3) 注意他们的读数方向因此,我们从上面的方法,我们可以得出十进制数 转换为二进制为 , 或者十进制数转换为二进制数约等于 10101000
c语言各进制转换方法 来自淘豆网m.daumloan.com转载请标明出处.