如何判斷一個(gè)寄存器里位接通的數(shù)量
劉玉蓉
發(fā)布于2014-11-17 17:54
3
0
標(biāo)簽:
需要判斷一個(gè)寄存器里位接通的數(shù)量,之后用數(shù)值表示出來。例如MW20=35時(shí),對(duì)應(yīng)的二進(jìn)制為100011,里面的位接通數(shù)量為三個(gè),用3來表示賦值給MW22。也就是把MW35的數(shù)值怎么能轉(zhuǎn)換成表示內(nèi)部位數(shù)接通數(shù)量的一個(gè)數(shù)值?
佳答案
寄存器值mod 2,然后判斷結(jié)果是否為1,為1則int變量加1,然后再把寄存器的值除以2(右移一位)再mod 2判斷結(jié)果。重復(fù)16次,后那個(gè)int變量保存的就是為1的個(gè)數(shù)。