Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13

Discussione: Bitwise

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    67

    Bitwise

    Salve a tutti,

    ho un dubbio sull'utilizzo di questi operatori:
    ho necessità di fare un or bit a bit di due numeri binari

    110111
    000111
    --------- OR
    110111

    questo dovrebbe essere il risultato corretto giusto?

    allora perchè php su queste istruzioni

    $a = base_convert (37, 16, 2);
    $b = base_convert (7, 16, 2);
    $r = $a | $b;

    mi restituisce in $r 111111

    Aiuto non riesco a capirci niente

  2. #2
    non vorrei dire na sciocchezza

    ma base_convert restituisce una stringa. Quindi tu poi fai l'or su due stringhe e non su due byte

    E poi perche' converti da base 16 a base due?

    Al limite dovresti fare

    $b = base_convert (7, 10, 2);

    prova qualcosa del genere.

    $test = 37|7;
    echo base_convert ($test, 10, 2);

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    67
    Ciao raven74 converto da base 16 a base 2 poichè questi valori sono in un db in forma esadecimale.

    Ma se base_convert mi restituisse una stringa potrei fare un ciclo foreach all'interno del quale fare l'or bit a bit?

  4. #4
    ok per l'esadecimale (dall'esempio non si capiva)

    comunque direi di si', puoi fare un ciclo for e fare l'or bit per bit

    anche se credo ci sia una via piu' breve

    ma nel DB i tuoi esadecimali sono memorizzati come stringa?

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    67
    Si precisamente come char (2)

  6. #6
    forse con un eval si potrebbe riuscire a farli digerire a PHP come interi e poi fare l'or

    ora ho da fare

    poi magari ci penso

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    67
    Ok grazie provo con eval ti farò sapere.

  8. #8
    ho trovato (ma non provato) la funzione

    hexdec

    che converte una stringa esadecimale in numero

    quando hai i numeri poi puoi fare l'or

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    67
    Grazie raven funziona

  10. #10
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    67
    Mmmm ho cantato vittoria troppo presto

    il problema principale è questo:
    ho necessità di splittare il numero binario in un array.

    Mi spiego meglio:

    ottenuto il valore 110111 nella variabile $ris

    come posso spaccarlo e assegnare ogni singolo bit ad un elemento di un array?

    ad esempio $a[0]=1 $a[1]=1 $a[2]=1 $a[3]=0 $a[4]=1 $a[5]=1

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.