我正在尝试创建二进制到十进制转换器,并且已经卡在代码上。我已经研究过论坛以获得任何帮助,但是他们都接缝使用函数,这些函数不能在私有子中使用。请问有人可以帮我解决这个问题吗?
答案 0 :(得分:0)
我会使用位置表示法:
http://en.wikipedia.org/wiki/Positional_notation
http://www.wikihow.com/Convert-from-Binary-to-Decimal
所以基本上,在没有给出答案的情况下,你想循环遍历二进制占位符,随时填写变量。您将使用索引从最不重要的占位符移动到最多。
例如:二进制的10011011是十进制的155。
所以每个占位符都是一个基数为2的力量。然后你为每一个添加值,直到你完成,如下所示:
占位符1为:2 pow 0等于1.
占位符2是:2 pow 1等于2.
占位符3是:2 pow 2等于4.
占位符4是:2 pow 3等于8.
占位符5是:2 pow 4等于16。
占位符6是:2 pow 5等于32。
占位符7是:2 pow 6等于64。
占位符8是:2 pow 7等于128。
现在我们只添加有1的占位符。
128 + 16 + 8 + 2 + 1 = 155
您需要什么:
循环遍历索引,并在进行时递增指数值,仅在二进制数中索引等于1时才添加值。
希望我的解释有意义。祝好运。