【问题标题】:binary/BCD with 32/64bits questions带有 32/64 位问题的二进制/BCD
【发布时间】:2015-01-15 06:04:37
【问题描述】:

我的问题是确定可以用 a) 32 位和 b) 64 位表示的数字范围(以 10 为基数)

我的第一个问题是相同的概念,但要求确定 binary(base2) 而不是 BCD 对于 32 位,我做了 2^32 和 2^64 对于 64 位 我不确定我是否正确回答了这个问题,因为我不完全理解它在问什么..

我需要帮助 谢谢

【问题讨论】:

    标签: binary bcd


    【解决方案1】:

    Binary Coded Decimal 是使用 4 位对数字的一位进行编码:

    0000 = 0
    0001 = 1
    0010 = 2
    0011 = 3
    0100 = 4
    0101 = 5
    0110 = 6
    0111 = 7
    1000 = 8
    1001 = 9
    

    要编码一个数字,例如 157,它看起来像这样:

    0001 0101 0111
    ---- ---- ----
     1    5    7
    

    因为编码一个数字需要 4 位,所以您可以通过这样做来计算出可以存储多大的数字:

    32 bits / 4 bits = 8 digit number max.
    

    因此,对于 32 位,您可以存储 0 到 99,999,999 之间的任何数字。如果你有 64 位:

    64 bits / 4 bits = 16 digit number max.
    

    因此,对于 64 位,您可以存储 0 到 9,999,999,999,999,999 之间的任何数字

    我希望这可以为您解决问题!

    【讨论】:

    • 从看到 32/4 -8 位和 64/4 -16 位,如果问题是二进制而不是 BCD,它会是 32/2-16 位和 64/2 -32 位?
    • 没有。在二进制中,可以放入 32 位的最大无符号数是 0 到 4,294,967,295。对于 64 位,它从 0 到 18,446,744,073,709,551,616。要计算这个,你使用 2^32 或 2^64。
    猜你喜欢
    • 2011-09-08
    • 2017-02-03
    • 1970-01-01
    • 1970-01-01
    • 2018-01-25
    • 2017-12-12
    • 1970-01-01
    • 2017-09-24
    • 2011-12-12
    相关资源
    最近更新 更多