题解 | #懂二进制#
懂二进制
https://www.nowcoder.com/practice/120e406db3fd46f09d55d59093f13dd8
using System; using System.Collections.Generic; class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param m int整型 * @param n int整型 * @return int整型 */ public int countBitDiff (int m, int n) { // write code here string strMB = Convert.ToString(m, 2).PadLeft(32, '0'); string strNB = Convert.ToString(n, 2).PadLeft(32, '0'); int nMinLen = strMB.Length > strNB.Length ? strNB.Length : strMB.Length; int nMaxLen = strMB.Length > strNB.Length ? strMB.Length : strNB.Length; int nCount = 0; for (int i = 0; i < nMinLen; i++) { if (strMB[i] == strNB[i]) continue; nCount++; } return nCount + nMaxLen - nMinLen; } }