s1136432000 2021-07-07 10:05 采纳率: 0%
浏览 172
已采纳

关于matlab十进制数转二进制数的问题

下面是我将一组十进制数转换为32位二进制数,在写到txt文件里的程序:
si_b={};
l=length(Si);
si_coefile=fopen('wave_si_Fs24g_B800mt.txt','w');
for coen=1:length(si)
if(si(coen)<0)
si_b{coen}=(dec2bin(2^32+si(coen)));
else
si_b{coen}=(dec2bin(si(coen)));
end
if(coen==length(si))
fprintf(si_coefile,'%032d',si_b{coen});
else
fprintf(si_coefile,'%032d \n',si_b{coen});
end
end
fclose all;

但生成txt文件里的数据是这样的:
0000000000000000000000000000000
000000000000000000001.111111e+31
000000000000000000001.111111e+31
000000000000000000001.001101e+20
000000000000000000001.111100e+20
000000000000000000001.111111e+31
000000000000000000001.111111e+31
000000000000000000001.111101e+20
00000000000001010101000001111040
000000000000000000001.111111e+31
......

想问一下有没有大佬指导怎么解决。。。

  • 写回答

1条回答 默认 最新

  • s1136432000 2021-07-07 10:50
    关注

    已解决。

    将fprintf(si_coefile,'%032d',si_b{coen});
    改为:
    fprintf(si_coefile,'%032s',si_b{coen});

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器