LFSR(线性反馈移位寄存器)的C++实现

2023-10-29

n级线性反馈移位寄存器,这里以n=7为例,假设初始状态为1000000,使用C++标准库中的bitset类来实现,bitset类的用法详解:点击打开链接

 

#include <iostream>
#include <stdlib.h>
#include <bitset>
#define n 7
using namespace std;
int main()
{
	system("title = LFSR");
	//初始化n位的二进制数据,初始状态为二进制1000,及十进制8
	bitset<n>bint(64);
	bitset<n>str(bint);
	string s1,s2;//保存输出结果
	//遍历bint中的数字
	/*for (int i = bint.size()-1; i>=0; i--)
		cout << bint[i];
	cout << endl;*/
	cout << "初始状态为:"<<bint.to_string() << endl;
	//str = bint.to_string();//如果是string类型的str用这句
	//生成LFSR的状态变化
	do
	{
		int j = bint[n - 1] ^ bint[0];
		bint.operator>>=(1);//向右移1位
		//第1个数据和第n个数据异或然后赋值给第n个
		bint[n - 1] = j;
		cout << bint.to_string() << endl;
		//把bint转换成string放入s1
		s1 = bint.to_string();
		//把a1放入s2中
		s2.push_back(s1[3]);

	} 
	while (str.to_string() != bint.to_string());
	cout << "输出序列为:" <<s2<< endl;
	system("pause");
	return 0;
}

 

 

 

 

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

LFSR(线性反馈移位寄存器)的C++实现 的相关文章

  • C++编程——继承

    文章目录 1 继承的基本语法 2 继承方式 3 继承的对象模型 4 继承中构造和析构顺序 5 继承中同名成员处理 6 继承中同名静态成员处理方式 6 1 通过对象访问 6 2 通过类名访问 7 多继承语法 7 1 多继承的对象模型 8 菱形
  • C++编程——类模板

    文章目录 1 类模板语法 2 类模板与函数模板的区别 3 类模板中成员函数创建时机 4 类模板对象做函数参数 5 类模板与继承 6 类模板成员函数类外实现 7 类模板分文件编写 8 类模板与友元 9 类模板案例 1 类模板语法 类模板的作用
  • 【C++拾遗之八】#pragmaonce与#ifndef的用法总结

    宏定义 一 两种宏定义的功能 二 两种宏定义的用法 三 两种宏定义的区别 一 两种宏定义的功能 ifndef 和 pragma once都是C C 中的两种宏定义 它们的作用是为了避免同一个头文件被多次包含 include note 只能保
  • CSDN-markdown编辑器

    欢迎使用Markdown编辑器 你好 这是你第一次使用 Markdown编辑器 所展示的欢迎页 如果你想学习如何使用Markdown编辑器 可以仔细阅读这篇文章 了解一下Markdown的基本语法知识 新的改变 我们对Markdown编辑器
  • Qt Creator下载和安装(详细教程)

    简介 Qt是跨平台的图形开发库 目前由Digia全资子公司 Qt Company 独立运营 官方网址 http www qt io 也可以访问Qt项目域名 http qt project org Qt本身支持众多操作系统 从通用操作系统Li
  • LFSR(线性反馈移位寄存器)的C++实现

    n级线性反馈移位寄存器 这里以n 7为例 假设初始状态为1000000 使用C 标准库中的bitset类来实现 bitset类的用法详解 点击打开链接 include
  • STL的一些基本背景了解。

    STL源代码的头文件一般都是内联模式的 现在简单的把stl的集中类型进行分类说明一下 1 容器类 一般分为关联式容器和顺序式容器 典型的例子的就是vector为典型的顺序式容器 对于stl来说主要采用向量 链表 二叉树以及他们的组合为底层存
  • gcc/g++交叉编译*.c/*.cpp程序时的配置

    CFLAGS I PWD src CFLAGS I third party hisi include CFLAGS L third party hisi lib CXXFLAGS I PWD src CXXFLAGS I third par
  • 位运算符(一):C/C++位运算符

    位运算是指按二进制进行的运算 在程序中 常常需要处理二进制位的问题 C C 语言提供了6个位操作运算符 这些运算符只能用于整型操作数 即只能用于带符号或无符号的char short int与long类型 在实际应用中 建议用unsigned
  • bluez——dbus接口api

    bluez dbus接口api bluez的api接口的说明文档在 doc 路径下 我这先重点分析下adapter agent和device这几个文件 这里面包含的是常用的api 1 agent c 这里现在注册的几个dbus方法 void
  • LFSR:线性反馈移位寄存器及其应用

    LFSR简介 LFSR Linear feedback shift register 是一种特殊的的移位寄存器 他的输入取决于其先前状态 LFSR的使用异常广泛 可以说涉及到方方面面 以下是Wikipedia列举的一些应用 INTELSAT
  • c#中new 后面大括号

    C new一个对象的时候 后面的参数不是用小括号吗 下面的大括号是怎么回事 不是数据为什么会用大括号 BarcodeWriter barcodeWriter new BarcodeWriter Format ZXing BarcodeFor
  • __builtin_expect, __builtin_unreachable和__builtin_prefetch

    builtin expect 该指令是gcc引入的 就是允许代码编写者把最有可能执行的分支告诉编译器 标准写法是 bultin expect exp n 意思是exp n的概率很大 这样编译器可以对代码进行优化 减少指令跳转带来的性能下降
  • Qt与VS的对比(1)

    对话框篇 QT与VS创建对话框的方式非常相似 都需要创建一个对话框类 在需要显示该对话框的地方包含对应的头文件 显示即可 区别 QT显示模态对话框使用函数QDialog exec VS显示模态对话框使用函数CDialog DoModal Q
  • [转载]PropertyChanged 事件

    在 NET平台上 数据绑定是一项令人十分愉快的技术 利用数据绑定能减少代码 简化控制逻辑 通常 可以将某个对象的一个属性绑定到一个可视化的控件上 当属性值改变时 控件上的显示数据也随之发生变化 要实现这一功能 只需要为自定义对象实现 INo
  • C# 理解Thread.Sleep()方法 (转载学习)

    我们可能经常会用到 Thread Sleep 函数来使线程挂起一段时间 那么你有没有正确的理解这个函数的用法呢 思考下面这两个问题 1 假设现在是 2008 4 7 12 00 00 000 如果我调用一下 Thread Sleep 100
  • c#中日志NLog配置问题

    Failed obtaining configuration for Common Logging from configuration section common logging 在配置中没有配置对 另外很有可能是NLog 的配置文件没
  • win7安装了vc++6.0打开已保存文件项目就会崩溃

    我用win7安装了vc 6 0的英文完整版 绿色中文版 发现当运行程序时 要打开已保存文件项目就会崩溃 系统对话筐就说 Microsoft R Developer Studio已停止工作 选择调试或者关闭 office 2010 与vc 6
  • 利用VTK显示PLY网格模型文件

    define vtkRenderingCore AUTOINIT 2 vtkRenderingOpenGL2 vtkInteractionStyle include
  • QT文件读取路径

    最近在弄中兴的一个程序大赛 用QT读取XML文件的编程 在编程中发现QT文件读取路径与VS有不同之处 我们提供给QFile的文件路径无非就是绝对路径和相对路径 绝对路径是绝对没问题的 不过相对路径就得小心了 谈到相对路径 需要注意区分进程所

随机推荐

  • 我的2020工作与学习总结

    我的2020总结 今天是2020年12月30日 马上就要开始新的一年了 在出差途中简单做个总结 总结我2020这平凡而又充实的一年 学习和生活方面 回忆起我去年做的总结我的2019 这两年都是收获满满 我19年大学毕业 其实目前我已经工作两
  • app客户端与服务器数据交互时—数据加密

    总结 1 对称加密加密与解密使用的是同样的密钥 所以速度快 但由于需要将密钥在网络传输 所以安全性不高 2 非对称加密使用了一对密钥 公钥与私钥 所以安全性高 但加密与解密速度慢 3 解决的办法是将对称加密的密钥使用非对称加密的公钥进行加密
  • vue json对象转数组_vue-vue-router 快速了解,多看看能扎实基础

    看着这么多房子头都晕了 不知道从哪里回家 概述 vue router是Vue js官方的路由插件 它和vue js是深度集成的 适合用于构建单页面应用 vue的单页面应用是基于路由和组件的 路由用于设定访问路径 并将路径和组件映射起来 传统
  • 03模板学习之函数模板案例-写一个int,char通用的冒泡

    03模板学习之函数模板案例 写一个int char通用的冒泡 1 直接看代码 模板测试 cpp 此文件包含 main 函数 程序执行将在此处开始并结束 include
  • windows terminal使用git bash

    1 在微软应用商店下载 windows terminal 1 打开 Windows Terminnal 的设置界面 点击添加新配置文件添加配置如下 即在json配置文件中添加 commandline D Git bin bash exe l
  • ChatGPT的前世今生

    作者 符尧等 编辑 夕小瑶的卖萌屋 点击下方卡片 关注 自动驾驶之心 公众号 ADAS巨卷干货 即可获取 点击进入 自动驾驶之心 全栈算法 技术交流群 正文 最近 OpenAI的预训练模型ChatGPT给人工智能领域的研究人员留下了深刻的印
  • java中需要注意的一些代码编写规范

    一 编程规约 1 命名风格 常量命名全部大写 单词间用下划线隔开 力求语义表达完整清楚 不要嫌名字长 POJO 类中的任何布尔类型的变量 都不要加 is 前缀 否则部分框架解析会引起序列化错误 杜绝完全不规范的缩写 避免望文不知义 在常量与
  • 13.按平均成绩从高到低显示所有学生的所有课程的成绩以及平均成绩

    题目的数据来源于50道SQL练习题及参考答案 原创 Hill GM的博客 CSDN博客 sql编程题目 建表和链接里面的是一样的 解决的思路 首先将每个学生的各科成绩放在同一行显示 select st sc1 score 语文 sc2 sc
  • vue3中使用echarts的子组件接收父级传来参数,并重新渲染 +++watch监听的用法

    1 父组件页面
  • java小说摸鱼

    import org jsoup Jsoup import org jsoup nodes Document import org jsoup nodes Element import java net HttpURLConnection
  • vs编译linux内核,VSCode远程开发Linux内核驱动

    受够了Vim的换台电脑就要倒腾N天配置的折磨 受够了Windows下Source Insight眼花的界面 这些软件虽然很多人在用 但是缺点也不少 然而Linux内核代码非常庞大 编译内核又需要在Linux下进行 有没有一种能在Window
  • TCL字符串操作

    format命令 因为 TCL 把所有的输入都当作字符串看待 所以 TCL 提供了较强的字符串操作功能 TCL 中与 字符串操作有关的命令有 string format regexp regsub scan 等 语法 format form
  • 【python】《多媒体技术与应用》实验报告「数字图像压缩」「傅里叶变换」

    多媒体技术与应用 实验报告 实验名称 实验二 数字图像压缩 实验时间 2022 4 11 姓名 班级 计非201 学号 成绩 实验目的 理解图像压缩的主要原则和目的 理解有损和无损压缩的概念 了解几种常用的图像压缩编码方法 利用 Pytho
  • Docker以Root启动的各种方法

    docker run itd user root name root user alpine sh docker run itd user 0 name root user2 alpine sh docker run itd name ro
  • Android Studio之maven Central,JCenter

    Android studio 是从哪里得到库的 Android Studio是从build gradle里面定义的Maven 仓库服务器上下载library的 Apache Maven是Apache开发的一个工具 提供了用于贡献librar
  • 基于QT实现的钢琴软件 (MFC大作业)

    作品内容 基于Qt平台开发的一款钢琴模拟器 主要完成了对钢琴的全键全音调模拟 使用者可以在电脑上通过28个键完成钢琴曲的演奏 另外 我们还添加了延音 变调 录音 播放 教程等功能 旨在为用户提供完整的电脑钢琴体验 软件外观 实现思路 整体框
  • 联想电脑进入bios

    联想电脑进入bios 开机LOGO闪现界面提供了进入BIOS的按钮提示 1 Think centre bios 先单机enter 再按F1 2 笔记本 DEL 或者 F2 3 THINKPAD 先ESC键后 F1进入 4 F12进入启动项快
  • html 获取sessionid,h5中sessionStorage.sessionId获取到的是服务器端session的id吗?

    前端的 SessionStorage 请类比 LocalStorage 设计的初衷就是 cookie 容量太小 前端需要一个更大的地方在浏览器端放置一些临时 永久数据 整个 storage 可以达到 5MB 所以当然不能每次都往服务器发送
  • DFS 输出从n个数中选m个数的全部情况

    include
  • LFSR(线性反馈移位寄存器)的C++实现

    n级线性反馈移位寄存器 这里以n 7为例 假设初始状态为1000000 使用C 标准库中的bitset类来实现 bitset类的用法详解 点击打开链接 include