【问题标题】:Parse two numbers - upper digit and unit digit解析两个数字 - 高位和个位
【发布时间】:2015-08-14 10:03:22
【问题描述】:

我想解析两个数字。 从 RTC IC 我得到 7 位,其中位 6、5、4 是高位数字(秒数中的第一个数字 0 - 5),位 3、2、1、0 是个位数字(0 - 9)。现在我想创建一个函数来解析这两个数字并返回秒数。

这是我从 RTC IC 获得的第二个数字的表格。

对于第一个数字,我屏蔽了这些位,我得到了上下数字。我想解析这两个数字并从函数中返回它们。 如何?

【问题讨论】:

  • 它很像二进制到十进制的转换。你有什么尝试吗?
  • 现在我只是掩蔽,然后我得到两个数字(int),现在我想解析这两个数字(上和下)。

标签: c parsing real-time


【解决方案1】:

这很简单,只需按照文档进行拆分即可:

uint8_t i = getBcd();
return (i >> 4 & 0x7) * 10 + (i & 0xf);

【讨论】:

    【解决方案2】:
    namespace SOExample
    {
        class Program
        {
            public static void Main(string[] args)
            {
                Console.WriteLine("Hello World!");
    
                // TODO: Implement Functionality Here
                byte ourByte = 89;
    
                int units = ourByte & 15;
                int tens = ourByte >> 4;
    
                int result = (int) (tens * 10 + units);
    
    
                Console.Write("Press any key to continue . . . ");
                Console.ReadKey(true);
            }
        }
    }
    

    【讨论】:

    • 错误的编程语言。这个答案是题外话。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多