xinshou的日志-二零一九七月四日-C#-二进制数组转整数

20190708工作日志-C#-二进制数组转整数

/// 
        /// 二进制数组转整数
        /// 
        /// 整数值
        public int FromBinaryToInt(byte[] binaryBits)
        {

            if (binaryBits.Any(i => i != 0 && i != 1)) // 如果该数组包含有0/1之外的值,则抛出异常
            {
                throw new ArgumentException("若要使用该方法,byte数组必须只包含0或1。");
            }
            //   return Convert.ToInt32(string.Join("", binaryBits), 2);
            int sum = 0;

            int length = binaryBits.Length;
            for (int i = 0; i < binaryBits.Length; i++)
            {

                byte k = binaryBits[length - i - 1];
                //   Math.Pow(2, i)  a 为底数,i为指数
                int b = (int)(Math.Pow(2, i) * k);
                Console.WriteLine(b);
                sum += b;
            }

            return sum;


        }

你可能感兴趣的:(工作日志)