实验的目的和要求
了解信道的含义、信源编码的流程,熟练掌握整数、小数的十进制和二进制的互换机制,并能编程实现。
考核要求
熟悉并掌握十进制与二进制小数的互转机制,并分析算法产生的误差
实验内容:
1、编写程序实现十进制小数x=0.7 的二进制转换,并分析其误差(即重新将二进制小数转成十进制小数,和原十进制小数进行比较。)
2、编程实现十进制数 x=5.9的二进制转换。
%%
%第一题
clear all
clc
n=0.7;
m=20;%保留m位小数
d=char(mod(floor(n*2.^(1:m)),2)+'0');%将十进制乘以2用floor取整,接着用其余数进行循环操作
d1=['0','.',d]%显示二进制转换小数
f=d-'0';
f1=sum(f./(2.^(1:m)))%% 二进制转换十进制
error=n-f1
%%
%第二题
clear all
clc
n=5.9;
m=10;%保留10位小数
d=n*2^m;
[f,e]=log2(d);
a=char(mod(floor(d*2.^(1-e:0)),2)+'0');
a=[a(1:end-m),'.',a(end-m+1:end)]%二进制转换