轨道
/
Scheme
Scheme
/
练习
/
八进制
八进制

八进制

简单

说明

把一个用字符串表示的八进制数(例如 '1735263')转换成等值的十进制数,并且要从基本原理出发(也就是说,你不能用内置库或外部库来完成这次转换)。

实现八进制到十进制的转换。 给定一个八进制输入字符串,你的程序应该产生一个十进制输出。

注意

  • 自己实现转换。 不要借助别的东西替你完成转换。
  • 把无效输入当作八进制 0。

关于八进制(基数为 8)

十进制是基数为 10 的系统。

一个按 10 进制写出的数字 233 可以理解为 10 的各次幂的线性组合:

  • 最右边的数字乘以 10^0 = 1
  • 下一个数字乘以 10^1 = 10
  • ...
  • 第 n 个数字乘以 10^(n-1)。
  • 最后把所有这些值相加。

所以:

   233 # decimal
 = 2*10^2 + 3*10^1 + 3*10^0
 = 2*100  + 3*10   + 3*1

八进制与之类似,只不过用的是 8 的各次幂,而不是 10 的各次幂。

所以:

   233 # octal
 = 2*8^2 + 3*8^1 + 3*8^0
 = 2*64  + 3*8   + 3*1
 = 128   + 24    + 3
 = 155
通过 GitHub 编辑 链接将在新窗口或新标签页中打开
Scheme Exercism

准备好开始 八进制 了吗?

注册 Exercism,借助 39 个练习 和真人导师指导,学习并掌握 Scheme,全部免费。