获取Scheme中数字的最低位

时间:2012-09-10 04:36:48

标签: scheme bit-manipulation

如何在Scheme中获得(整数)数字的最低位? 这是一件相当容易的事吗?

谢谢,

1 个答案:

答案 0 :(得分:2)

如果您的Scheme实施支持SRFI 60,您只需使用:

(logand n 1)

bitwise-and是某些Scheme实现所偏好的同义词,因此如果您没有logand,请检查bitwise-and

否则,如果您愿意假设您使用的是two's-complement系统(所有主流平台都有),您还可以使用odd?even?

(if (odd? n) 1 0)