>  기사  >  백엔드 개발  >  C#에서 10진수를 2진수, 16진수 및 8진수로 변환하는 방법에 대한 자세한 설명

C#에서 10진수를 2진수, 16진수 및 8진수로 변환하는 방법에 대한 자세한 설명

零下一度
零下一度원래의
2017-06-23 15:19:138570검색

1. 십진수를 이진수로 변환

계속해서 십진수를 2로 나누고 나머지를 모두 거꾸로 채워 필요한 이진수 데이터를 얻습니다. binary 이진을 10 진수로 변환합니다. 그 중 n은 이진수로 오른쪽에서 왼쪽으로의 자릿수를 나타냅니다(1부터 계산). Net 내장 기본 변환 방법:

4. 10진수 <=> 16진수

        public static string DecimalToBinary(int vDecimal)
        {/* 将十进制的数 vDecimal 不断地除 2,取余数
             * 然后将余数 倒序 填写             */List<int> vYuShu = new List<int>();  // 除 2 过程中产生的余数集int vTempValue= vDecimal;            // 除 2 过程中产生的商数for (; ; )
            {int tempYS = vTempValue % 2;
                vYuShu.Add(tempYS);  // 记住余数vTempValue = vTempValue / 2;if (vTempValue == 0)  // 商数等于0时,结束运算break;
            }// 倒序输出string strBinary = "";for (int i = vYuShu.Count - 1; i >= 0; i--)
            {
                strBinary += vYuShu[i];
            }

            Console.WriteLine("Input decimal value:{0}, output binary value:{1}.", vDecimal, strBinary);return strBinary;
        }

5. 10진수<=> 8진수

6. 기타 변환

7. 양수 및 음수 부호가 있는 데이터 변환되어 어필과 약간 다릅니다.

1바이트(8비트)는 어쨌든 256개의 숫자만 표현할 수 있으므로 부호가 있으므로 -128 → 127의 범위로 표현합니다.

가장 높은 비트를 사용하여 부호 비트를 나타내며, 0은 양수, 1은 음수를 나타냅니다.

10000000은 컴퓨터에서 가장 작은 음의 정수를 나타냅니다. 10000001부터 11111111까지는 -127부터 -1을 의미합니다.

음의 정수는 컴퓨터에 2의 보수 형식으로 저장됩니다.

        public static int BinaryToDecimal(string vBinary)
        {// 首先判断是否满足输入要求int[] vInput = new int[vBinary.Length];for (int i = 0; i < vBinary.Length; i++)
            {var tempNum = vBinary[i].ToString();if (tempNum == "0")
                {
                    vInput[i] = 0;
                }else if (tempNum == "1")
                {
                    vInput[i] = 1;
                }else{throw new Exception("输入参数不正确,二进制数应仅由:0和1组成");
                }
            }/* 
             * 依次乘2的(n-1)次方,再求和             */int vDecimal = 0;for (int i = 1; i <= vInput.Length; i++)
            {
                vDecimal += (int)(Math.Pow(2, i - 1) * vInput[vInput.Length-i]);
            }

            Console.WriteLine("Input binary value:{0}, output decimal value:{1}.", vBinary, vDecimal);return vDecimal;
        }

[]

위 내용은 C#에서 10진수를 2진수, 16진수 및 8진수로 변환하는 방법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.