zunny 发表于 2006-4-15 18:05

[求助]如何进行数的类型转换

在Matlab中,比如有一个m=,其类型为double array.大小1*4<BR>用什么函数可以把m化为十进制数13呢?<BR>我已经试过bin2dec函数,错误提示说输入必须是一个string;<BR>那我先用int2str(m)(或者用num2str(m)),把m转换为string,发现m的大小变成了1*10,然后再进行bin2dec,结果m的值成了577。<BR>其中错在哪里呢,百思不得其解?<BR>

zjliu 发表于 2006-4-15 18:17

d=num2str(m),d=strrep(d,' ',''),N=bin2dec(d)

zunny 发表于 2006-4-15 19:31

明白了,一个d=strrep(d,' ',''),把1*20的char array中间多余的空格全部去掉了,原来烦人之处就在这里,经过测试,顺利得解13。楼上的zjliu真是Matlab达人,谢一个。

zjliu 发表于 2006-4-15 19:36

呵呵,果酱<BR><BR>只是我知道的总结一下就行了,我想你对二进制数的数据类型也了解了

xtmtd1186 发表于 2006-4-16 10:24

<P>bin2dec(num2str(m))</P>
<P>ans =</P>
<P>    13<BR>this can also work</P>
页: [1]
查看完整版本: [求助]如何进行数的类型转换