在演算法中的使用

2021-09-16 13:46:59 字數 782 閱讀 9249

1、&(與運算)

&運算:相同位都是1時,與運算為1.

2、|(或運算)

|運算:相同位只要有乙個為1,或運算結果是1

3、^(異或運算)

^運算:相同位只有乙個為1,異或運算結果是1(注意:必須是乙個,其餘結果都是0)

例1、不用加減乘除做加法

首先看十進位制是如何做的: 5+7=12,三步走 第一步:相加各位的值,不算進製,得到2。 第二步:計算進製值,得到10. 如果這一步的進製值為0,那麼第一步得到的值就是最終結果。 第三步:重複上述兩步,只是相加的值變成上述兩步的得到的結果2和10,得到12。

同樣我們可以用三步走的方式計算二進位制值相加: 5-101,7-111

第一步:相加各位的值,不算進製,得到010,二進位制每位相加就相當於各位做異或操作,101^111。

第二步:計算進製值,得到1010,相當於各位做與操作得到101,再向左移一位得到1010,(101&111)<<1。

第三步重複上述兩步, 各位相加 010^1010=1000,進製值為100=(010&1010)<<1。 繼續重複上述兩步:1000^100 = 1100,進製值為0,跳出迴圈,1100為最終結果。

備註:不進製的運算結果算得是低位,進製運算的結果算得是高位,最後的結尾就是低位+高位,所以結束的條件是進製為0.異或運算是不進製低位值,與運算後左移一位結果是進製高位值。

public int add(int num1,int num2) 

return num1;

}

關鍵:進製值為0時跳出迴圈

kmeans演算法在matlab中的使用

matlab中kmeans使用 matlab中kmeans使用 英文實在太難看懂了,翻譯一下 後續有空就加上吧 idx,c kmeans x,k 返回聚類下標idx,聚類中心座標c idx,c,sumd kmeans x,k 返回聚類內的點到中心的距離之和的k 1 向量 sumd.idx,c,sum...

this 在C 中的使用

1.this指標的用處 乙個物件的this指標並不是物件本身的一部分,不會影響sizeof 物件 的結果。this作用域是在類內部,當在類的非靜態成員函式中訪問類 的非靜態成員的時候,編譯器會自動將物件本身的位址作為乙個隱含引數傳遞給函式。也就是說,即使你沒有寫上this指標,編譯器在編譯的 時候也...

在js中的使用

看到一道演算法題很簡潔的解法 用的是.這樣三個點 題目描述 給定兩個排序後的陣列 a 和 b,其中 a 的末端有足夠的緩衝空間容納 b。編寫乙個方法,將 b 合併入 a 並排序。初始化 a 和 b 的元素數量分別為 m 和 n。param a param m param b param n retu...