Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    [VB.Net] Conversione in base e calcoli

    Salve ragazzi sono qui di nuovo a scrivere perchè avrei bisogno del vostro aiuto per sapere come posso effettuare alcune conversioni e fare certi calcoli, in particolare avrei bisogno delle conversioni hex->bin, hex->dec, bin-> hex ed eventualmente dec->bin, oltre a ciò mi servirebbe saper come faccio a fare calcoli in base 16 ovvero con numeri hex senza doverli trasformare(mi interessa principalmente l'addizione). L'unica cosa che ho trovato in giro è la conversione dec->hex che però mi ritorna una stringa e non saprei come fare i calcoli con quella,a me servirebbe proprio una variabile esadecimale.

    Grazie in anticipo per il vostro aiuto

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Non esiste il concetto di "variabile esadecimale" ...

    Una variabile contiene un valore numerico. La rappresentazione (decimale, esadecimale o altro) è semplicemente un modo di vedere quel valore ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Non sono d'accordo, nel senso che ad esempio Integer è un tipo e Double è un altro, all'apparenza può non essere importante dichiarare un tipo di dato in un modo o nell'altro, sempre di "numero" si tratta ma è molto differente lavorare con un int rispetto a un double, come lo è per un Integer e un UInteger.
    Comunque mi pare di aver visto che non esiste il modo di dichiarare un tipo di dato hex, quindi mi sa che l'unica alternativa sia fare una conversione in decimale ed eseguire il calcolo in questo formato.

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da alby_mo
    Non sono d'accordo, nel senso che ad esempio Integer è un tipo e Double è un altro, all'apparenza può non essere importante dichiarare un tipo di dato in un modo o nell'altro, sempre di "numero" si tratta ma è molto differente lavorare con un int rispetto a un double, come lo è per un Integer e un UInteger.
    Stai facendo confusione tra un "tipo" di dato numerico e la sua "rappresentazione" ...

    Comunque mi pare di aver visto che non esiste il modo di dichiarare un tipo di dato hex, quindi mi sa che l'unica alternativa sia fare una conversione in decimale ed eseguire il calcolo in questo formato.
    Per fare le conversioni, ad esempio

    codice:
            Dim i As Int32
            Dim s As String
    
            i = 258
            s = System.Convert.ToString(i, 16)
            Console.WriteLine(s)
    
            s = "A000"
            i = System.Convert.ToInt32(s, 16)
            Console.WriteLine(i)
    Se hai una variabile numerica intera e vuoi aggiungere un valore costante "espresso" in esadecimale, puoi scrivere

    codice:
    i = i + &HA000
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Originariamente inviato da oregon
    Se hai una variabile numerica intera e vuoi aggiungere un valore costante "espresso" in esadecimale, puoi scrivere

    codice:
    i = i + &HA000
    Ma se io ad esempio volessi fare una somma in hex di questo tipo come dovrei fare?

    0000031A
    05320000

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da alby_mo
    Ma se io ad esempio volessi fare una somma in hex di questo tipo come dovrei fare?

    0000031A
    05320000
    Ma come valori costanti o come variabili ? Inseriti da tastiera in questo modo o posti nel codice di un programma?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Originariamente inviato da oregon
    Ma come valori costanti o come variabili ? Inseriti da tastiera in questo modo o posti nel codice di un programma?
    Come variabili e sono inseriti da tastiera

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    L'inserimento dei dati numerici interi prevede solamente la rappresentazione decimale.

    Per fare quello che chiedi, puoi usare due

    stringhe

    per inserire i tuoi dati, convertirle in decimale, fare la somma, convertirle in esadecimale e mostrarle.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    Originariamente inviato da oregon
    L'inserimento dei dati numerici interi prevede solamente la rappresentazione decimale.

    Per fare quello che chiedi, puoi usare due

    stringhe

    per inserire i tuoi dati, convertirle in decimale, fare la somma, convertirle in esadecimale e mostrarle.
    Come pensavo, grazie mille per il tuo aiuto

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.