欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Matlab——二进制转十进制(包含小数转换)

程序员文章站 2022-03-08 15:30:10
...

Matlab中有二进制转十进制的函数,“bin2dec”,示例如下:

Matlab——二进制转十进制(包含小数转换)

但是这个函数只能进行整数转换,如果有小数的话:

Matlab——二进制转十进制(包含小数转换)

由于需要,最近写了一个小程序,实现带小数的二进制转十进制,先看代码:

clc
clear all
% 整数部分
bit1 = 3;
bit_integer = [0,1,0];
% 小数部分
bit2 = 2;
bit_decimal = [1,0];
integer = 0;
decimal = 0;
% 计算整数部分
for i = 1 : bit1
    integer = integer + bit_integer(i) * (2^(bit1 -i));
end
% 计算小数部分
for j = 1 : bit2
    decimal = decimal + bit_decimal(j) * (2^(-j));
end
% 整合
param = integer + decimal;

程序其实很简单,就是按照二进制转十进制的规则进行转化,需要人为输入的地方就是整数部分、整数部分的比特位数,小数部分、小数部分的比特位数。

欢迎各位交流指正!