用c++实现随机生成5个互不正交的8位码片M1、M2、M3、M4、M5。 (2) 分别求出与M1、M2、M3、M4、M5所有正交的8位码片。
时间: 2023-11-08 10:40:22 浏览: 147
C++生成MD5码
5星 · 资源好评率100%
实现随机生成5个互不正交的8位码片M1、M2、M3、M4、M5,可以采用以下方法:
1. 随机生成8位二进制数(0或1),作为M1的第1位码片。
2. 随机生成8位二进制数,与M1比较,如果不相同,则作为M2的第1位码片,否则重新生成。
3. 随机生成8位二进制数,与M1和M2比较,如果不相同,则作为M3的第1位码片,否则重新生成。
4. 重复以上过程,直到生成5个互不正交的8位码片M1、M2、M3、M4、M5为止。
求出与M1、M2、M3、M4、M5所有正交的8位码片,可以采用以下方法:
1. 将M1、M2、M3、M4、M5依次与所有可能的8位二进制数比较,找出与它们正交的码片。
2. 正交的定义是:两个码片的对应位相乘的结果为0。
3. 对于一个8位二进制数,它与一个码片正交的条件是:对应位的值相同的个数为偶数。
4. 因此,可以通过枚举所有可能的8位二进制数,统计与M1、M2、M3、M4、M5正交的码片,并输出结果。
阅读全文