有关数学算法(一)

摘抄自《程序员的数学》 作者:结城浩
本篇主要介绍一些程序员用得上的数学概念。
计数
十进制数的构成:2503=2x103+5x102+0x101+3x100
十进制数的构成:1100=1x23+1x22+0x21+0x20=4+8+0+0=12
※100=1
十进制转二进制的代码:

 static double ChangeIntoBinary(int decimalism)
 {
     int tempNum = decimalism;
     int remainder;
     double binary = default;
     int i = 0;
     do
     {
         remainder = tempNum % 2;//获得余数
         tempNum /= 2;//每次循环结果除于2
         if (remainder == 1) { binary += remainder * Math.Pow(10, i); }
         //如果余数不为0,则结果为1*10的i次方的累加
         i++;

     } while (tempNum != 0);//当结果为0不能再被2整除时结束循环,另1/2=0余1。
     return binary;
 }

为什么100=1?
103=1000
102=100
101=10
100=?
观察得每减少一次方,下方的数则为上方的数的1/10。
同样可知道10-1=1/10

逻辑:
1.非 :¬A,¬¬A=A(双重否定等于肯定)
2.与:A∧B
有关数学算法(一)
3.或:A∨B
有关数学算法(一)
4.异或:A⊕B(非A即B)
有关数学算法(一)
5.相等:A=B
有关数学算法(一)
6.蕴含:A⇒B(不是A,或者是B)
有关数学算法(一)
德·摩根定律:
(¬A)∨(¬B)=¬(A∧B)
(¬A)∧(¬B)=¬(A∨B)
代码版

(!A)||(!B)=!(A&&B)
(!A)&&(!B)=!(A||B)

复杂的逻辑运算可以用卡诺图简化

以上,希望对大家学习有帮助。

上一篇:Linux重启mysql Error getting authority: Error initializing authority: Could not connect: Resource temporarily unavailable (g-io-error-quark, 27)


下一篇:获取某文件夹下所有文件、一级子文件夹的大小