|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Nov 2002
Città: livorno
Messaggi: 873
|
Altro programma C++
Sto facendo un programma per convertire
DEC a BIN DEC a HEX BIN a DEC BIN a HEX HEX a DEC HEX a BIN Le prime 4 le ho fatte e funzionano, ma come faccio a fare l'ultima? Come faccio ad inserire anche i valori letterali? e a separere valore x valori in un'array? Susate, ma sono poco esperto... |
![]() |
![]() |
![]() |
#2 |
Bannato
Iscritto dal: Jan 2001
Messaggi: 1976
|
questa funzione converte un numero intero n1$ dalla rappresentazione in qualunque base a piacere b1 compresa tra 2 e 62 (e quindi anche 2, 8, 10, 16)
a qualunque base a piacere b2 compresa tra 2 e 62. ![]() l'estensione a basi > 62 è immediata. è in VB ma penso possa essere tradotto facilmente in C++. ti allego anche un file excel per l'uso immediato. Codice:
Function f_CnvBase(n1$, b1, b2) aaa$ = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" If b1 < 2 Or b1 > 62 Then f_CnvBase = "bad first base": Exit Function n = 0 For k = 1 To Len(n1$) a1 = InStr(aaa$, Mid$(n1$, k, 1)) - 1 If a1 < 0 Or a1 >= b1 Then f_CnvBase = "bad format number": Exit Function n = n * b1 + a1 Next k If b2 < 2 Or b2 > 62 Then f_CnvBase = "bad second base": Exit Function Do While n > 0 a2 = n Mod b2 n = Int(n / b2) n2$ = Mid$(aaa$, a2 + 1, 1) & n2$ Loop f_CnvBase = n2$ End Function |
![]() |
![]() |
![]() |
#3 |
Bannato
Iscritto dal: Jan 2001
Messaggi: 1976
|
N.B. la funzione è stata fatta calda-calda appositamente per lucianorossi.
![]() |
![]() |
![]() |
![]() |
#4 |
Bannato
Iscritto dal: Jan 2001
Messaggi: 1976
|
dopo c'ho un'altra funzione per convertire un valore da qualunque unità di misura ad un'altra: f_CnvUM(x, um1$, um2$)
![]() ti anticipo: scommetto che sarà il prossimo programma in C++ che ti faranno fare ![]() |
![]() |
![]() |
![]() |
#5 |
Bannato
Iscritto dal: Jan 2001
Messaggi: 1976
|
prontoooooooo
![]() |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 13:39.