C#中進位制互轉:
阿新 • • 發佈:2018-11-30
使用
// 將指定基數的數字的字串表示形式轉換為等效的 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))