【发布时间】:2014-03-14 23:07:21
【问题描述】:
我正在尝试创建一个二进制到十进制的转换器,并且卡在了代码上。我已经研究了论坛以寻求任何帮助,但它们都使用功能,不能在私人子系统中使用。请问谁能帮我解决这个问题?
【问题讨论】:
-
"但它们都使用函数,不能在私有子中使用。"是什么让您认为函数不能在私有子中使用?
标签: vb.net visual-studio-2012 binary decimal
我正在尝试创建一个二进制到十进制的转换器,并且卡在了代码上。我已经研究了论坛以寻求任何帮助,但它们都使用功能,不能在私人子系统中使用。请问谁能帮我解决这个问题?
【问题讨论】:
标签: vb.net visual-studio-2012 binary decimal
我会使用位置表示法:
http://en.wikipedia.org/wiki/Positional_notation
http://www.wikihow.com/Convert-from-Binary-to-Decimal
所以基本上,在不给你答案的情况下,你想循环遍历二进制占位符,在你前进的过程中填充一个变量。您将使用索引从最不重要的占位符移动到最重要的占位符。
例如:二进制的 10011011 是十进制的 155。
所以每个占位符都是以二为底的幂。然后添加每个值,直到完成,如下所示:
占位符 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 时才添加该值。
希望我的解释是有道理的。祝你好运。
【讨论】: