使用MatLab中的递归进行十进制到二进制转换

时间:2015-03-30 15:08:19

标签: matlab recursion binary

我在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"是因素

提前谢谢!

1 个答案:

答案 0 :(得分:0)

你应该toBinary(floor(x/2))。否则,您将得到小数点后的值。