回 帖 发 新 帖 刷新版面

主题:请教一个二-十进制转换的问题

怎样从一个01一维数组的元素所组成的二进制数计算出其对应的十进制数?
如 a = [1 0 1 0 1 0 1 0],其中的元素组成的二进制数表示十进制数170
   b = [1 1 1 1 0 0 0 0],其中的元素组成的二进制数表示十进制数240

回复列表 (共3个回复)

沙发

我主要是想知道怎么从数组a = [1 0 1 0 1 0 1 0]得到一个二进制数10101010
从b = [1 1 1 1 0 0 0 0]得到二进制数11110000

板凳

可以用下面的简单方法实现:
a = [1 1 1 1 0 0 0 0]
x=0;
 for k=1:length(a)
    x=x+a(k)
    x=x*2;
end
x=x/2
y=dec2bin(x)

3 楼

查找帮助函数,bi2de
a = [1 0 1 0 1 0 1 0];
bi2de(a)
bi2de(a,'left-msb')
就这两种方案啦,你自己再选一个,根据你得需要

我来回复

您尚未登录,请登录后再回复。点此登录或注册