|
@@ -316,6 +316,35 @@ Void function main():
|
|
|
</pre></div>
|
|
|
</div>
|
|
|
</div>
|
|
|
+<div class="section" id="binary-to-decimal-converter">
|
|
|
+<h3>Binary to decimal converter<a class="headerlink" href="#binary-to-decimal-converter" title="Permalink to this headline">¶</a></h3>
|
|
|
+<p>A simple binary to decimal converter is given below:</p>
|
|
|
+<div class="highlight-default"><div class="highlight"><pre>include "primitives.alh"
|
|
|
+
|
|
|
+Integer function b2d(param : String):
|
|
|
+ Integer value
|
|
|
+ value = 0
|
|
|
+ Integer length
|
|
|
+ length = string_len(param)
|
|
|
+ Integer counter
|
|
|
+ counter = integer_subtraction(length, 1)
|
|
|
+ Integer accumul
|
|
|
+ accumul = 1
|
|
|
+
|
|
|
+ while (counter >= 0):
|
|
|
+ if (string_get(param, counter) == "1"):
|
|
|
+ value = integer_addition(value, accumul)
|
|
|
+ accumul = integer_multiplication(accumul, 2)
|
|
|
+ counter = integer_subtraction(counter, 1)
|
|
|
+
|
|
|
+ return value!
|
|
|
+
|
|
|
+Void function main():
|
|
|
+ while(True):
|
|
|
+ output(b2d(input()))
|
|
|
+</pre></div>
|
|
|
+</div>
|
|
|
+</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
@@ -350,6 +379,7 @@ Void function main():
|
|
|
<li><a class="reference internal" href="#examples">Examples</a><ul>
|
|
|
<li><a class="reference internal" href="#fibonacci">Fibonacci</a></li>
|
|
|
<li><a class="reference internal" href="#factorial">Factorial</a></li>
|
|
|
+<li><a class="reference internal" href="#binary-to-decimal-converter">Binary to decimal converter</a></li>
|
|
|
</ul>
|
|
|
</li>
|
|
|
</ul>
|