1. 程式人生 > >C#中進位制互轉:

C#中進位制互轉:

使用

            //     將指定基數的數字的字串表示形式轉換為等效的 64 位有符號整數。
            //
            // 引數:
            //   value:
            //     一個包含數字的字串。
            //
            //   fromBase:
            //     value 中數字的基數,它必須是 2、8、10 或 16。
            //
            // 返回結果:
            //     等效於 value 中的數字的 64 位有符號整數。 - 或 - 如果 value 為 null,則為零。
            //
            // 異常:
            //   T:System.ArgumentException:
            //     fromBase 不是 2、8、10 或 16。 - 或 - value,它表示一個非 10 為基的有符號數,前面帶一個負號。
            //
            //   T:System.FormatException:
            //     value 包含的一個字元不是 fromBase 指定的基中的有效數字。如果 value 中的第一個字元無效,異常訊息則指示沒有可轉換的數字;否則,該訊息將指示
            //     value 包含無效的尾隨字元。
            //
            //   T:System.OverflowException:
            //     value,它表示一個非 10 為基的有符號數,前面帶一個負號。 - 或 - 返回值小於 System.Int64.MinValue 或大於 System.Int64.MaxValue。
            public static long ToInt64(string value, int fromBase);


        // 摘要:
        //     將 64 位有符號整數的值以指定的基數轉換為它的等效 System.String 表示形式。
        //
        // 引數:
        //   value:
        //     64 位有符號整數。
        //
        //   toBase:
        //     返回值的基數,必須是 2、8、10 或 16。
        //
        // 返回結果:
        //     以 toBase 為基數的 value 的 System.String 表示形式。
        //
        // 異常:
        //   T:System.ArgumentException:
        //     toBase 不是 2、8、10 或 16。
        public static string ToString(long value, int toBase);

思路:經其他進位制先轉換為10進位制,後將10進位制轉為想要的進位制

//將十進位制轉換為2/8/16進位制

Convert.ToString(Value,2/8/16);

//將其他進位制轉換為10進位制

ConvertToInt64(Value.Tostring(),2/8/16).ToSting();

//將其他進位制轉換為其他進位制

Convert.ToString(Convert.ToInt64(value.ToString(),2/8/16),2/8/16))