Differenze tra le versioni di "Sapere quanti bit posti ad 1 sono presenti in un numero"
Da Gambas-it.org - Wikipedia.
(Creata pagina con "Per sapere quanti bit posti ad 1 sono presenti in un numero, è sufficiente utilizzare il seguente semplice codice: '''Public''' Sub Main() Dim i, numero, c As Integer...") |
|||
Riga 1: | Riga 1: | ||
− | Per sapere quanti bit posti ad 1 sono presenti in un numero, è | + | Per sapere quanti bit posti ad 1 sono presenti in un numero, è possibile utilizzare alcune modalità. |
+ | |||
+ | |||
+ | ===Uso delle funzioni ''Bin( )'' e ''Mid( )''=== | ||
'''Public''' Sub Main() | '''Public''' Sub Main() | ||
Riga 15: | Riga 18: | ||
'''End''' | '''End''' | ||
+ | |||
+ | |||
+ | |||
+ | ===Uso delle funzioni ''Bin( )'' e ''Mid( )''=== | ||
+ | '''Public''' Sub Main() <SUP>[[[#Note|nota 1]]]</sup> | ||
+ | |||
+ | Dim n, b, c As Integer | ||
+ | |||
+ | n = 165 | ||
+ | |||
+ | Print "La rappresentazione binaria di "; n; " è "; | ||
+ | |||
+ | While n > 0 | ||
+ | b = n Mod 2 | ||
+ | Print b; | ||
+ | If b <> 0 Then Inc c | ||
+ | n = n \ 2 | ||
+ | Wend | ||
+ | Print " e contiene "; c; " bit posti a 1" | ||
+ | |||
+ | '''End''' | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | =Note= | ||
+ | [1] Questa soluzione è stata proposta dal membro [http://www.gambas-it.org/smf/index.php?action=profile;u=1249 Gianluigi] del forum gamba-it.org |
Versione delle 09:40, 20 nov 2016
Per sapere quanti bit posti ad 1 sono presenti in un numero, è possibile utilizzare alcune modalità.
Uso delle funzioni Bin( ) e Mid( )
Public Sub Main() Dim i, numero, c As Integer Dim binario As String numero = 1234567890 binario = Bin(numero) For i = 1 To len(binario) If Mid(binario, i, 1) = "1" Then Inc c Next Print numero; " contiene "; c; " bit posti a 1 ("; binario; ")" End
Uso delle funzioni Bin( ) e Mid( )
Public Sub Main() [nota 1] Dim n, b, c As Integer n = 165 Print "La rappresentazione binaria di "; n; " è "; While n > 0 b = n Mod 2 Print b; If b <> 0 Then Inc c n = n \ 2 Wend Print " e contiene "; c; " bit posti a 1" End
Note
[1] Questa soluzione è stata proposta dal membro Gianluigi del forum gamba-it.org