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

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

由于需要,最近写了一个小程序,实现带小数的二进制转十进制,先看代码:
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;
程序其实很简单,就是按照二进制转十进制的规则进行转化,需要人为输入的地方就是整数部分、整数部分的比特位数,小数部分、小数部分的比特位数。
欢迎各位交流指正!
本文介绍了一个Matlab小程序,用于将带有小数部分的二进制数转换为十进制数。该程序通过两个循环分别计算二进制整数和小数部分对应的十进制值。
2737

被折叠的 条评论
为什么被折叠?



