正文

离散数学的编程应用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 位为 011100 ,即bits= v1&~v2&~v3 | ~v1&v2&v3 ;

这样bits=1的位置就是 v1v2  v1 v3均不同的数位,可以取V2的数位,因为此时V2V3的数位必然相同,然后bits=0的位置就是 v1v2 v1 v3有相同的数位,可以取V1的数位,因为此时V1V3的数位或者V1V2的数位必然至一个少相同

 

应用离散数学的 思想避免了 循环对每一位单独进行判定,大大优化拉程序,这只是一个简单的示例,只是提醒可以综合使用所学的知识

阅读(5111) | 评论(0)


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

评论

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