正文

离散数学的编程应用2006-05-14 23:12:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/vfdff/14070.html

分享到:

//    2006.5.12   //   3 取 2 表决(多数表决制),既对输入的三个字节进行判断 //   000 /1 取 0 (0个数多), 110 /1  取 1 (1个数多)#define  BYTE  char BYTE Major3_Judge(BYTE v1, BYTE v2 ,BYTE v3) {     BYTE vx=0x00 ;     BYTE bits= v1&~v2&~v3 | ~v1&v2&v3 ;     vx = v1&~bits | v2&bits;     return  vx; } #undef  BYTE V2  V3    V1    00 01 11 10 0 0 0 1 0 1 1 0 0 0   `显然 上面取 1 的 bits 位为 011和100 ,即bits= v1&~v2&~v3 | ~v1&v2&v3 ; 这样bits=1的位置就是 v1和v2与  v1和 v3均不同的数位,可以取V2的数位,因为此时V2和V3的数位必然相同,然后bits=0的位置就是 v1和v2或 v1和 v3有相同的数位,可以取V1的数位,因为此时V1和V3的数位或者V1和V2的数位必然至一个少相同   应用离散数学的 思想避免了 循环对每一位单独进行判定,大大优化拉程序,这只是一个简单的示例,只是提醒可以综合使用所学的知识

阅读(5368) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册