如何將DateTime(yyyyMMddhhmm)轉換爲c#上的壓縮bcd(大小6)表示形式?DateTime到BCD表示
using System;
namespace Exercise
{
internal class Program
{
private static void Main(string[] args)
{
byte res = to_bcd(12);
}
private static byte to_bcd(int n)
{
// extract each digit from the input number n
byte d1 = Convert.ToByte(n/10);
byte d2 = Convert.ToByte(n%10);
// combine the decimal digits into a BCD number
return Convert.ToByte((d1 << 4) | d2);
}
}
}
你對資源變量的結果是18
謝謝!
您好格雷格和感謝您的快速反應,但我沒有真正明白。 我按照你的建議int = 12(第一條消息的完整示例): 你在res變量上得到的結果是18. 我期望在這裏有1字節的表示。 另外,長DateTime(yyyyMMddhhmm)應該做什麼?我應該將其轉換爲int64表示形式並將其拆分爲大小爲2的6個整數? 謝謝! – 2012-02-25 18:27:15
您的計算是正確的。十進制數字「18」是十六進制的「0x12」,也是「12」十進制的BCD表示。 – 2012-02-25 18:43:03