Shannon 香农编码 信息论实验 c++
Shannon 编码
1.实验目的
(1)进一步熟悉Shannon 编码过程;
(2)掌握C语言程序设计和调试过程中数值的进制转换,数值与字符串之间的转换等技术。
2.实验要求
(1)输入:信源符号个数 ,每个信源符号的概率分布P从键盘输入
(2)输出:每个信源符号对应的Shannon 编码的码字
(3)源程序格式整齐清晰,注释简单明了。
3.c++程序
#include<iostream>
#include<vector>
#include<string>
#include <math.h>using namespace std;int main(){cout<<"请输入信源符号个数:"<<endl;int n;cin>>n;cout<<"请输入符号分布概率"<<endl;vector<float> p,p1;vector<int> l;float s=0;for(int i=0;i<n;i++){p1.push_back (s);float a;cin>>a;double b=-log(a)/log(2);l.push_back((int)b+1);p.push_back(a);s+=a;}for(int j=0;j<n;j++){string str="";float c=p1[j];for(int k=0;k<l[j];k++){if(c*2<1){str+="0";c=c*2;}else{str+="1";c=c*2-1;}}cout<<"第"<<i<<"个信源符号的二元码是:"<<str<<endl;}return 0;
}
4.运行截图
Shannon 香农编码 信息论实验 c++相关推荐
- 信息论与编码matlab实验报告,信息论实验报告(实验三、香农编码)
<信息论实验报告(实验三.香农编码)>由会员分享,可在线阅读,更多相关<信息论实验报告(实验三.香农编码)(3页珍藏版)>请在人人文库网上搜索. 1.学生实验报告院别电子工程学 ...
- 实验三-香农编码的MATLAB实现
信息论编码实验3~9连载,更多看专栏. 香农编码仿真实现 一.香农编码的原理 二.香农编码实例 三.程序及流程图 四.程序运行结果 五.程序自评价 一.香农编码的原理 香农码严格意义上来说不是最佳码, ...
- 香农编码二叉树c语言,shannon码的编码实验总结.docx
shannon码的编码实验总结 本科生实验报告 实验课程信息理论与编码 学院名称信息科学与技术学院 专业名称 学生姓名 学生学号 指导教师 实验地点 实验成绩 二〇一六年九月----二〇一六年十一月 ...
- 天津理工大学 信息论与编码实验3 离散信源编码-香农编码
一.实验目的 离散无记忆信源是一种最简单且最重要的信源,可以用完备的离散型概率空间来描述.本实验通过对给定的信源的进行相应的编码,加深对离散无记忆信源的无失真编码的理解. 掌握香农编码原理: 二.实验 ...
- 计算信源熵和香农编码C语言,信息论与编码课程设计报告-统计信源熵与香农编码.pdf...
信息论与编码课程设计报告 设计题目: 统计信源熵与香农编码 专业班级 电 信 12-06 学 号 学生姓名 指导教师 教师评分 2015 年 3 月 30 日 目 录 - 0 - 一.设计任务与要求 ...
- 信息论与编码|香农编码的Matlab实现
1. 香农编码原理 (1)将信源消息符号按其出现的概率大小依次降序排列为: (2)对概率向上取整求整数码长K (3)为了编成唯一可译码,计算第i个消息的累加概率P (4)将累加概率转换成二进制数 (5 ...
- 信息论与编码-python实现三种编码(香农编码,费诺编码,赫夫曼编码)
香农编码,费诺编码,赫夫曼编码(python实现) 开始参考了网上其他人的代码,但后来都发现要么代码有错误,要么输出结果不符合自己的预期,于是就重新实现了一下,代码仍存在一些小问题,但是能够满足作业要 ...
- 香农编码与Huffman编码之间的对比
目录 一.[上机目的] 二.[环境] 三.[上机原理] 四.[上机内容] 五.设计思路 5.1霍夫曼编码特点 5.2霍夫曼编码原理 5.3二进制哈夫曼编码过程 5.4计算结果 5.5霍夫曼编码的MAT ...
- 香农编码的C++实现及求平均码长和编码效率
香农编码C++分布实现 编码步骤 香农编码的步骤如下: (1)将信源符号按其出现概率从大到小排序: (2)计算出各概率对应的码字长度: (3)计算累加概率: (4)把各个累加概率由十进制转化为二进制, ...
最新文章
- Linux下__attribute__((visibility (default)))的使用
- java 线程同步的方法_Java多线程同步方法
- C/Cpp / 设计模式 / 简单工厂模式
- WPF 重要新概念读书笔记(转)
- 解决IDEA修改已有项目为maven项目时目录结构被改变的问题
- 关于varchar2在pl/sql和schema级别的最大值
- 光模块组装过程中常见问题分析及解决方法
- python编程是啥-什么是Python编程课程
- 提升效率小工具,我用30分钟就干完一天的活
- 用javascript获取屏幕高度和宽度等信息
- win7录屏_专业电脑录屏方法有哪些?分享录屏靠谱方法!
- (Modern Family S01E03) Part4 PhilClaire Gloria和Luke到Claire家玩 Claire和Luke谈心
- Linux中write函数
- [转载]C++URL编码转换
- 【Java】9、Java IO 流
- 赔97.6万元!腾讯一程序员违反竞业协议,三年白干了!
- 【程序猿的黑科技】一些有趣且有用的的工具整理
- Mybatis的插件 PageHelper 分页查询使用方法
- UDS刷写上位机全套CAPL脚本,有简单panel界面
- 2022-08-11 乐理知识(八) 和弦——什么是和弦,三和弦,三和弦的转位,七和弦,七和弦的转位