C# 将整数生成N位二进制数

2020年5月10日 2500点热度 1人点赞 0条评论
内容纲要
        // 二进制位数长度
        private int binaryLength = 16;
        // 将数字转为 N 位二进制,并且前面补足 0
        private byte[] ToBinary(int num)
        {
            byte[] bs = new byte[binaryLength];
            int n = binaryLength;
            char[] str = Convert.ToString(num, 2).ToCharArray();
            if (str.Length > binaryLength)
                throw new ArgumentOutOfRangeException($"数字二进制长度超过{binaryLength}位!");
            for (int i = str.Length - 1; i >= 0; i--)
            {
                n--;
                bs[n] = str[i].Equals('1') ? (byte)1 : (byte)0;
            }
            //补足位数,前缀加上0
            for (int i = n - 1; i >= 0; i--)
            {
                bs[i] = 0;
            }
            return bs;
        }

痴者工良

高级程序员劝退师

文章评论