当前位置: 首页 > article >正文

Java实现简单的5阶m序列密钥生成

选择5阶本原多项式:x^5 + x^2 + 1,初始值为{1,0,0,1,1},易得,递推公式为:ak = ak-5 ⊕ ak-2 ,其中k≥5。于是可以写出下面这段代码:

class BitsEncode {
    public static void main(String[] args) {
        //初始化数组
        int a[] = {1,0,0,1,1};
        //获取前100位
        for(int i=0;i<100;i++){
            System.out.print(a[0]);
            int temp1 = a[0];
            int temp2 = a[3];
            a[0] = a[1];
            a[1] = a[2];
            a[2] = a[3];
            a[3] = a[4];
            a[4] = (temp1+temp2) > 1 ? 0 : (temp1+temp2);
            //换行更加清晰地显示周期
            if((i+1) % 31 == 0){
                System.out.println();
            }
        }
    }
}

输出如下:
在这里插入图片描述


http://www.kler.cn/news/356479.html

相关文章:

  • 《Linux服务与安全管理》| 磁盘与文件系统管理
  • linux jdk环境变量变量新配置方式
  • 哔​哩​哔​哩​一​面
  • CVTE Android面试题及参考答案(100道题)
  • python-django-mysql原生sql增删改查搭建搭建web项目
  • 在 WPF 中使用 OpenTK:从入门到进阶
  • GS-SLAM论文阅读--GSORB-SLAM
  • Debug-029-el-table实现自动滚动分批请求数据
  • R语言从多波段tif数据中逐个提取单波段数据
  • 黑马程序员 javaWeb基础学习,精细点复习【持续更新】
  • WIFI实现透传+接线图
  • 鸿蒙原生应用扬帆起航
  • 算法训练(leetcode)二刷第三天 | 203. 移除链表元素、707. 设计链表、206. 反转链表
  • springboot第77集:深入浅出Java多线程
  • SpringCloud学习:Seata分布式事务处理
  • Nature 正刊丨核糖体如何塑造蛋白质折叠
  • python安装(基于pycharm的安装平台)2024年10月
  • 【微信小程序_14_页面导航】
  • Linux概述
  • Python 小高考篇(1)基本输入输与运算