C# :
using System;
using System.Numerics;
class Program
{
static void Main()
{
// 超大數字
string bigNumberStr = "230652215040745127565278404175305086968";
// 轉換為 BigInteger
BigInteger bigNumber = BigInteger.Parse(bigNumberStr);
// 轉換為二進位字串
string binaryString = ConvertToBinary(bigNumber);
// 輸出結果
Console.WriteLine($"Decimal: {bigNumberStr}");
Console.WriteLine($"Binary: {binaryString}");
}
static string ConvertToBinary(BigInteger number)
{
return number.ToString("X"); // 轉換為十六進位字串,要轉其他像是 2 進位的也可以但就很長
}
}
SQL不確定,但應該大概如下:
DECLARE @bigNumber DECIMAL(38, 0) = 230652215040745127565278404175305086968;
DECLARE @binaryData VARBINARY(MAX);
-- 轉換為 VARBINARY
SET @binaryData = CONVERT(VARBINARY(MAX), @bigNumber);
-- 轉換為 2 進位字串
SELECT CONCAT('0x', CAST(@binaryData AS VARCHAR(MAX))) AS BinaryString;