gpt4 book ai didi

binary - 如何在标准 ML 中检查整数的以 2 为底的表示形式?

转载 作者:行者123 更新时间:2023-12-02 11:35:58 25 4
gpt4 key购买 nike

我正在尝试在 SML 中实现重复平方算法。我希望它是尾递归的。

目标是将所有 x^k 相乘,其中 k 是 2^m,2^m 是 n 的二进制表示形式中的 1。

例如,对于 x^25,计算 x^1 * x^8 * x^16,因为 16 + 8 + 1 = 25

我不知道如何用二进制部分来表示数字,或者使用按位运算来手动检查(因为据我所知,SML 没有按位运算)。

我更喜欢使用开箱即用的 SML 库,因此无需导入其他库。

这是一个家庭作业问题,所以如果你能回答而不完全泄露它,那就太好了。

编辑:我正在使用新泽西州的 SML。

最佳答案

感谢马特,我找到了解决方案。

使用SML基础库中的Word类型,我使用:

Word.andb(Word.fromInt(x), Word.fromInt(y)) > Word.fromInt(0)

关于binary - 如何在标准 ML 中检查整数的以 2 为底的表示形式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35740771/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com