+ Rispondi al messaggio
Visualizzazione dei risultati da 1 a 3 su 3

Byte e semibyte

  1. #1
    L'avatar di marco13
    marco13 non è in linea Scolaretto
    Ciao a tutti!!
    Bando alle ciance, vengo subito al sodo:
    da una stringa s contenente dei valori
    s = "09"
    
    devo estrarre ciascun carattere in formato esadecimale
    s[0] = '0' -> 0x30
    s[1] = 'i' -> 0x39
    
    dopo di che devo fare un AND tra il carattere della stringa s e il valore 0x0F. Il risultato che voglio ottenere deve essere un AND a livello basso, cioè:
    s[0] = 0x30 -> 00110000
                      AND
           0x0F -> 00001111
                   --------
                   00000000
    
    e così anche con s[1].
    Qui viene il bello: il risultato ottenuto con s[0] devo inserirlo in un primo semibyte e il risultato ottenuto con s[1] nel secondo semibite così de formare un byte.

    Qualcuno sapete consigliare cosa fare?devo agire a livello assembly così le operazioni risultano più semplici?
    ℹ️ Leggi di più su marco13 ...

  2. #2
    L'avatar di Gpanz
    Gpanz non è in linea Scolaretto
    Prova a moltiplicare il risultato di s[1] con 2^4 (cioè 16) e successivamente sommare i due valori

    ciao

    PS: naturamente supponendo che tu abbia bisogno dei 4 bit meno significativi di ogni risultato
    ℹ️ Leggi di più su Gpanz ...

  3. #3
    L'avatar di marco13
    marco13 non è in linea Scolaretto
    Grazie mille per l'interessamento, ma ti devo avvertire che ho già trovato una soluzione alternativa molto efficiente, ossia utilizzando le operazioni bitwise di Python:
    def GetByte(b1, b2):
        b1 = b1&0x0F   #Primo byte & 0x0F
        b1 = b1 <<4    #Shift a sinistra di 4 del primo byte
        b2 = b2 & 0x0F #Secondo byte & 0x0F
        return b1 | b2   #Risultato operazione sul e primo byte in | del secondo byte
    
    ℹ️ Leggi di più su marco13 ...

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. [c++] corrispondenze di byte e chr
    Da michbet nel forum C/C++
    Risposte: 1
    Ultimo Post: 04-02-2009, 17:31
  2. Confrontare 5 byte
    Da spauracchio_crociato nel forum C/C++
    Risposte: 15
    Ultimo Post: 11-01-2009, 21:29
  3. cancellare byte in vb??
    Da MarcoxD nel forum Visual Basic .Net
    Risposte: 1
    Ultimo Post: 25-10-2008, 01:34
  4. Leggere un byte
    Da mattyfog nel forum C/C++
    Risposte: 3
    Ultimo Post: 31-07-2008, 15:29
  5. Come leggere i bit di un byte
    Da damiano1981 nel forum Visual Basic 6
    Risposte: 1
    Ultimo Post: 10-11-2004, 15:53