-4
im將uint32_t十六進制數轉換爲uint32_t BCD編號。並會做同樣的UINT64十六進制BCD ...如何將uint32轉換爲C中的uint64?
我有這個從
uint16_t CvtBcd(uint16_t HexNumber)
{
return ((HexNumber/ 10) << 4) | (HexNumber% 10);
}
編輯UINT16:
我打算用它作爲外部代碼中使用爲更大的節目。
// Converts a uint32_t hex number into uint32_t BCD number.
extern uint32_t Cvt32Bcd(uint32_t HexNumber)
{
return ((HexNumber/10) << 8 | (HexNumber % 10));
}
在你的問題中的方式很多縮寫。我會說只是'uint64_t bla = uint64_t(some_uint32_t);'但是我收集你想要的東西。 – rubenvb 2012-07-30 12:15:24
我不明白你的功能試圖做什麼。我無法想象它的工作原理,因爲轉換爲BCD時的大16位數字變得更寬。它們甚至不適合16位。 – ArjunShankar 2012-07-30 12:21:17
我相信OP指的是[binary-coded decimals](http://en.wikipedia.org/wiki/Binary-coded_decimal)。 – 2012-07-30 12:24:46