我在Matlab中编写一个函数,将十进制数转换为二进制数,每当我尝试运行它时,它告诉我我处于无限循环中。请帮忙! 这是我的功能:
function y = toBinary(x)
f = 1;
r=0;
persistent y;
if x==0;
y=0;
else
r = mod(x,2);
y = y+(r*f);
f = f*10;
y = toBinary (x/2);
end
save toBinary
" X"是我们输入的十进制数;
" Y"是二进制输出;
" R"是其余部分;
" F"是因素
提前谢谢!
答案 0 :(得分:0)
你应该toBinary(floor(x/2))
。否则,您将得到小数点后的值。