C++控制输出位数
#include <iomanip>
cout<<setiosflags(ios::fixed)<<setprecision(2);
不同进制间的相互转换(算法)
十六进制转化为十进制:
如FFFF→65535
从右至左:
F→15
F:15*1(16的0次幂)=15
F:15*16(16的1次幂)=240
F:15*256(16的2次幂)=3840
F:15*4096(16的3次幂)=61440
15+240+3840+61440=65535
故得:FFFF→65535
十进制转化为十六进制:
如65535→FFFF
从右至左:
65535%16=4095...15→F
4095%16=255...15→F
255%16=15...15→F
15%16=0...15→F(商为0时结束)
故得:65535→FFFF
十六进制转化为八进制:
①十六进制转化为二进制:
如FF→11111111
从右至左:
F→15:
15%2=7...1
7%2=3...1
3%2=1...1
1%2=0...1(商为0时结束)
F→15:
15%2=7...1
7%2=3...1
3%2=1...1
1%2=0...1(商为0时结束)
故得:FF→1111 1111
②二进制转化为八进制:
如11111→37
首先:11111→011 111(分组)
从右至左:
111:
1:1*1(2的0次幂)=1
1:1*2(2的1次幂)=2
1:1*4(2的2次幂)=4
1+2+4=7
011:
1:1*1(2的0次幂)=1
1:1*2(2的1次幂)=2
0:0*4(2的2次幂)=0
1+2+0=3
故得:11111→37