Detaillierte Erläuterung der Dezimal-zu-Binär-, Hexadezimal- und Oktalkonvertierung in C#

零下一度
Freigeben: 2017-06-23 15:19:13
Original
8549 Leute haben es durchsucht

1. Dezimalzahl in Binärzahl umwandeln

Teilen Sie die Dezimalzahl fortlaufend durch 2 und tragen Sie alle Reste rückwärts ein, um die erforderlichen Binärdaten zu erhalten.

        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;
        }
Nach dem Login kopieren

2. Binär in Dezimal umwandeln

Multiplizieren Sie den Binärwert (0 oder 1) mit der Potenz von 2 (n-1) und jeweils Das Ergebnis wird addiert. Darunter stellt n die Anzahl der Ziffern von rechts nach links im Binärformat dar (gezählt von 1); >

        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;
        }
Nach dem Login kopieren

3. Integrierte Konvertierungsmethode Integrierte Basiskonvertierungsmethode von C#.Net:

4. Dezimal <=> 🎜>

            int vDecimal = 99;// 【10】 → 【2】string vBinary = Convert.ToString(vDecimal, 2);
            Console.WriteLine("十进制数:{0},转换成二进制:{1}", vDecimal, vBinary);// 【2】 → 【10】int tempDecimal = Convert.ToInt32(vBinary, 2);
            Console.WriteLine("二进制数:{0},转换成十进制:{1}", vBinary, tempDecimal);
Nach dem Login kopieren
Oder Sie können:

5

            int vDecimal = 127;// 【10】 → 【16】string vStrHex = "0x" + Convert.ToString(vDecimal, 16);
            Console.WriteLine("十进制数:{0},转换成十六进制:{1}", vDecimal, vStrHex);// 【16】 → 【10】int tempDecimal = Convert.ToInt32(vStrHex, 16);
            Console.WriteLine("十六进制数:{0},转换成十进制:{1}", vStrHex, tempDecimal);
Nach dem Login kopieren

6. Andere Konvertierungen

7. Vorzeichenbehaftete Binärkonvertierung

Für Daten mit positiven und negativen Vorzeichen gilt die Konvertierung etwas anders.

1 Byte (8 Bit) kann ohnehin nur 256 Zahlen darstellen. Da es vorzeichenbehaftet ist, drücken wir es als Bereich aus: -128 → 127.

Verwenden Sie das höchste Bit, um das Vorzeichenbit darzustellen, 0 steht für eine positive Zahl und 1 steht für eine negative Zahl.

10000000 stellt die kleinste negative Ganzzahl im Computer dar. Von 10000001 bis 11111111 bedeutet dies -127 bis -1.

Negative ganze Zahlen werden in Computern im Zweierkomplement gespeichert.

[]

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Dezimal-zu-Binär-, Hexadezimal- und Oktalkonvertierung in C#. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!