我必须创建一个最大值代码,它会自动将十进制(如40.75)转换为二进制数,反之亦然..但我在转换.75部分时遇到了麻烦。
这是我能够制作的代码。
bin_integ(n) := simplode(values(n, 2));
values([arg]) := block
(
[n: first(arg), b: if length(arg) > 1 then second(arg) else 10, v: [ ], q],
do (
[n, q]: divide(n, b),
v: cons(q, v),
if n=0 then return(v)
)
);
bin_integ(40);
此代码仅适用于整数。当我尝试输入40.75时,它说语法错误。 我已经搜索过其他算法,这些算法在其他编程语言中进行转换(例如c ++和java),并试图在Maxima中复制它。但是,它仍然无效