Eva*_*ker 3 scheme bitwise-operators
我对Scheme很新,我试图从头开始自学.我坚持这个问题的语法.我知道如果我想知道一个数字是2的幂,例如在C中,我只会这样做:
return (x & (x - 1)) == 0;
Run Code Online (Sandbox Code Playgroud)
这将返回真或假.我怎样才能将它转换成Scheme中的几个简单行?
因为你正在努力学习这门语言,所以我会给你一个提示.
计划有一个调用的函数(bitwise-and ...),其等同于&在C运算符(也有(bitwise-xor ...),(bitwise-not ..)等等,这些做意料之中的事情).
(这是(bitwise-and ...)函数的文档)
鉴于此,您能否将您在问题中所写的内容翻译成Scheme代码?
注意:对于这样的问题,在使用Scheme时,你真的不需要求助于按位运算.实际上,你应该编写一个(可能是尾部)递归函数来为你计算.
| 归档时间: |
|
| 查看次数: |
2017 次 |
| 最近记录: |