欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 如何解釋這兩個程序相等? [打印本頁]

作者: xiaobai22    時間: 2019-9-4 20:25
標題: 如何解釋這兩個程序相等?
為什么 程序     keyout=0;keyout++;
                keyout=keyout & 0x03;
  和     程序 keyout=0;keyout++;
if(keyout>=4)
{keyout=0;}
是相等的?

作者: aslin    時間: 2019-9-4 23:06
結果都是1。建議結合具體的例子打出來
作者: aaaaabangw    時間: 2019-9-5 00:12
第一個是二進制數00000001和二進制數00000011位與,結果是00000001
第二個是判斷二進制00000001是否大于等于四,顯然是否,所以不進行操作,結果是00000001
所以上面兩個是一樣的。。。
按程序走一遍就行了
作者: anyingdaozhimi    時間: 2019-9-5 07:43
16進制換成2進制寫出來一算就明白了

作者: hantu    時間: 2019-9-5 09:03
相等有什么好奇怪的,還可以寫成 keyout=(keyout+1)%4呢,也一樣的效果,keyout會在0到3之間逐一變化
作者: ieliubl    時間: 2019-9-5 10:11
keyout & 0x03與if(keyout>=4) {keyout=0;}效果是一樣的,0x03展開二進制00000011
作者: ieliubl    時間: 2019-9-5 10:13
keyout=keyout & 0x03;
  和  
if(keyout>=4)
{keyout=0;}效果相同,0x03二進制展開00000011
作者: l6931639    時間: 2019-9-5 17:34
請問各位大佬這兩個程序哪個效率高?
作者: csmyldl    時間: 2019-9-5 21:04
keyout=keyout & 0x03;這一句的意思是只取這個數的低2位,即二進制00 01 10 11變化的情況,對應十進制就是0 1 2 3變化,而if(keyout>=4) {keyout=0;}語句的作用是當keyout計數于4時就歸為0,即計數值也是0 1 2 3,所以這兩段程序的邏輯是一樣的.





歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1