【最精简】进制转换

目录

进制小常识

R进制转换十进制

十进制转二进制

十进制转八进制、十六进制

二进制与八进制、十六进制相互转换


进制小常识:

二进制单位:B;十进制单位:D;八进制单位:O;十六进制单位:H

二进制:0,1

八进制:0,1,2,3,4,5,6,7

十进制:0~9

十六进制:0~9,A(相当于10),B,C,D,E,F

小数点 . 左侧第一位是0次方,右侧第一位是-1次方


R进制转换十进制

方法:乘以R的次方相加

例:XY.OP转换为十进制

XY.OP =  X* R^{1}+Y*R^{0}+O*R^{-1}+P*R^{-2}

例:二进制数101101.1011转换为十进制数:45.6875

1\times2^{5}+0\times2^{4}+1\times2^{3}+1\times2^{2}+0\times2^{1}+1\times2^{0}+1\times2^{-1}+0\times2^{-2}+1\times2^{-3}+1\times2^{-4}=45.6875


十进制转二进制

方法:

整数部分:除以2求余,直到商为0,余数倒排(除留余数法)。

小数部分:不断乘以2取整,直到积为0或者题目指定的精度,整数正排。


十进制转八进制、十六进制

方法一:十进制先转换成二进制,再由二进制转换成八进制或十六进制。

方法二:十进制直接转八进制或者十六进制。

直接转八进制:

  • 整数部分:除以8求余,直到商为0,余数倒排(除留余数法)。
  • 小数部分:不断乘以8取整,直到积为0或者题目指定的精度,整数正排。

直接转十六进制:

  • 整数部分:除以16求余,直到商为0,余数倒排(除留余数法)。
  • 小数部分:不断乘以16取整,直到积为0或者题目指定的精度,整数正排。

二进制与八进制、十六进制相互转换

二进制转八进制:

  • 三个一组,进行分割。以小数点分别向两端分割,不够三个就用0补齐;
  • 分组后,在分别转为十进制,最终组合的结果即为八进制。

八进制转二进制 :

  • 每一位单独转换为(三位的)二进制,最终组合的结果即为二进制

注:小数点的左侧(整数部分)可以不用补齐,右侧(小数部分)必须补齐。

二进制转十六进制:

  • 四个一组,进行分割以小数点分别向两端分割,不够四个就用0补齐;
  • 分组后,在分别转为十进制,最终组合的结果即为十六进制。

十六进制转二进制 

  • 每一位单独转换为(四位的)二进制,最终组合的结果即为二进制

注:小数点的左侧(整数部分)可以不用补齐,右侧(小数部分)必须补齐。

你可能感兴趣的:(算法)