如果你实在不明白就这样想,先十进制转为二进制:1110011,这个没问题吧,然后将这七位二进制数从低位开始,三位数一组划分,即为1,110,011,转化为相应的十进制数就是:163。如果转化为十六进制的也一样,先转为二进制,然后四位数字一组,就可以了!
115/8=14余3,
14/8=1余6
1/8=余1
所有的余数从个位向十位方向排列,就是换算后的数值。
如果换算2进制或其它任何进制,都可以这样算,将除数改为2或其它进位制,但前提是被换算的数一定是十进制。
亲,十进制转换成八进制其实很简单,只需要用115除8取余,再将余数倒序写出来即可。
将十进制数115转化为八进制数
115除以8商14
余数为
3
再用商14除以8商1余数为6
再用商1除以8商0余数为1
从低位写到高位163,十进制进制转换成几进制就除以几,直到商为0,再把余数从低位写到高位,你那答案136肯定是错了,是163
read(n,r);i:=1;while n<>0 do begin a[i]:=n mod r;n:=n div r;inc(i);end;i:=i-1;while i>0 do begin if a[i]<10 then write(a[i]) else write(chr(ord(A)+a[i]-10));dec(i);end; 不懂得加1036769054