집 >백엔드 개발 >C#.Net 튜토리얼 >C#에서 10진수를 2진수, 16진수 및 8진수로 변환하는 방법에 대한 자세한 설명
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!