Scusa potresti spiegarmelo ho visto che hai usato le operazioni sui bit su questo sono un po scarso o se puoi indicarmi una guida abbastanza semplice per capire questo tipo di operazioni ho letto qualcosa ma mi risulta sempre complicato Grazie
Il Gio 17 Feb 2022, 17:32 Alessandro T. <taglia...@yahoo.it> ha scritto: > On 17/02/22 07:34, Vinny Mautone wrote: > > Studiando un pò sono riuscito a scrivere questa funzione che fa il suo > > dovere, ma volevo capire se era la strada giusta o si potesse > > velocizzare un po, comunque questa è la funzione > > > > def reg_to_string(reg): > > s = '' > > for ele in reg: > > if ele: > > b = format(ele, '016b') # converto il registro da decimale in binario > > ch = chr(int(b[:8], 2)) # prendo i primi 8 bit e li converto in char > > if ch.isalnum(): # controllo che sia un numero o una lettera > > s += ch # lo aggiungo alla stringa > > ch = chr(int(b[8:], 2)) # faccio la stessa cosa con gli altri 8 bit > > if ch.isalnum(): > > s += ch > > return s # ritorno la stringa > > > > Grazie per eventuali correzioni o miglioramenti > > > > > reg = [21070, 12601, 12340, 12593, 12593, 13312] > > versione compatta: > s = ''.join(c for r in reg for i in (1,0) if (c:=chr(r >> 8*i & > 0xff)).isalnum()) > > > versione estesa: > s = [] > for r in reg: > for i in (1,0): > c = chr(r >> 8*i & 0xff) > if c.isalnum(): > s.append(c) > s = ''.join(s) > > -- > Alessandro T. > > R: Perché leggiamo dall'alto al basso e da sinistra a destra. > D: Perché dovrei iniziare la risposta all'e-mail dopo il testo citato? > > _______________________________________________ > Python mailing list > Python@lists.python.it > https://lists.python.it/mailman/listinfo/python >
_______________________________________________ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python