7进制 -> 10进制 -> 8进制

分两部分

一、7 -> 10 

例如:(3051)7 = ( ? )10,待会用ans表示10进制结果

①把3051的各个位上的数分解出来,分解成:3、0、5、1

②ans = 0*7+3 = 3

    ans = 3(上一轮的ans值)*7+0 = 21

    ans = 21*7 + 5 = 152

    ans = 152*7 + 1 = 1065

③(3051)7 = ( 1065 )10

二、10 -> 8

例如:(1065)10 = ( ? )8待会用ans表示10进制结果,s表示过程中需要的数

①计算s1,s2,s3,s4

  s1 = 1065%8 = 1(1065 /= 8 = 133 )

  s2 = 133%8 = 5(133 /= 8 = 16 )

  s3 = 16%8 = 0(16 /= 8 = 2)

  s4 = 2%8 = 2(2 /= 8 = 0)

  上一次除法的结果为0时,结束循环

②s1 = 1, s2 = 5, s3 = 0, s4 = 2

ans = 2051(s4~s1)

原文地址:https://www.cnblogs.com/elisa02/p/13458580.html