Convertire un numero da rappresentazione binaria in decimale
Da Gambas-it.org - Wikipedia.
Versione del 17 dic 2013 alle 04:25 di Vuott (Discussione | contributi)
Per convertire un numero, espresso in formato a rappresentazione binaria, nella corrispondente rappresentazione decimale, bisogna moltiplicare le cifre del numero binario per le potenze decrescenti di 2, e successivamente sommare i risultati.
Convertiamo, per esempio il numero binario 10101010:
(1 * 27) + (0 * 26) + (1 * 25) + (0 * 24) + (1 * 23) + (0 * 22) + (1 * 21) + (0 * 20) = = (1 * 128) + (0 * 64) + (1 * 32) + (0 * 16) + (1 * 8) + (0 * 4) + (1 * 2) + (0 * 1) = = 128 + 0 + 32 + 0 + 8 + 0 + 2 = = 170
Per ottenere la conversione in Gambas potremo utilizzare questo codice: |1|
Public Sub Button1_Click() Dim a As String Dim b, Intero, InteroFinale As Integer Dim Esponente, crt As Integer a = InputBox("Immetti un numero in formato binario:") Esponente = 0 For b = Len(a) To 1 Step -1 crt = Int(Val(Mid(a, b, 1))) Intero = crt * 2 ^ Esponente Esponente += 1 InteroFinale = InteroFinale + Intero Next Print InteroFinale End
Note
[1] Il presente algoritmo è stato suggerito dall'utente Picavbg del forum di Gambas-it.org.