Skip to content

1. 进制转换

发布时间:

进制转换

二进制以0b开头
八进制以0开头
十六进制以0X或0x开头
十进制正常
二进制小数转十进制小数
如 101.01
整数位是1x2^2+0x2^1+1X2^0+0x2^1+0x2^-2

  • 二、八、十六进制转十进制
    每一位上的值乘以进制的位数次方的和。
  • 十进制转二、八、十六进制
    整数部分除进制取余,余数从下向上串起。小数部分成进制去个数位将取出的整数部分按顺序排列起来,先取的整数作为二进制小数的高位有效位,后取的整数作为低位有效位。
  • 二进制转八进制
    从低位起,每三位分一段,转为一位8进制数。
  • 二进制转十六进制
    从低位起,每四位分一段,转为一位16进制数。

一、十进制小数的二进制小数
‌核心操作原理‌。
十进制小数的二进制表示本质是将数值分解为2的负整数次幂之和,通过反复乘以2提取各次幂的系数(0或1),这些系数按顺序排列即为二进制小数。‌‌
‌具体操作步骤‌。
‌步骤一‌:将十进制小数乘以2,记录乘积的整数部分(0或1),作为二进制小数第一位;
‌步骤二‌:取乘积的小数部分继续乘以2,记录新的整数部分作为下一位;
‌步骤三‌:重复上述过程,直到小数部分归零或达到所需精度。‌‌
‌示例解析‌。
‌示例1‌:0.625转换过程。
625 × 2 = 1.25 → 取1,余0.25(第一位)。
25 × 2 = 0.5 → 取0,余0.5(第二位)。
5 × 2 = 1.0 → 取1,余0(第三位)。
最终结果:0.101

二、进制输出 int num = 255;

// 默认输出(十进制) cout << "十进制: " << num << endl; // 输出: 255

js
// 改为十六进制输出
cout << "十六进制: " << hex << num << endl;  // 输出: ff

// 如果要恢复十进制输出,可以使用 dec
cout << "恢复十进制: " << dec << num << endl;  // 输出: 255
   

上次更新: