|
#31
|
|
|
|
|
Due di Picche ha scritto:
[cut] si, ho letto, ho risposto ieri, il messaggio e' in viaggio e prima o poi apparira'. |
|
|
|
#32
|
|
|
|
|
non e' ancora arrivato, riinoltro
-------- Messaggio Originale -------- From: - Mon Oct 20 22:07:10 2008 X-Mozilla-Status: 0001 X-Mozilla-Status2: 00800000 X-Mozilla-Keys: Date: Mon, 20 Oct 2008 21:10:47 +0200 From: lowcost <die.spam> User-Agent: Thunderbird 2.0.0.17 (Windows/20080914) MIME-Version: 1.0 Newsgroups: it.hobby.elettronica.digitale Subject: Re: Calcolare la parità di un byte in References: <48f464b6$0$14495$5fc30a8> <gd4tq6$uhu$2> <gd5n0f$72g$1> <gd7jce$5fg$1> <gd812v$a1d$1> <gd8aru$pet$1> <gd8bot$k62$1> <gdacsg$96k$1> <gddgeb$pse$1> In-Reply-To: <gddgeb$pse$1> Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: quoted-printable Due di Picche ha scritto: > Pestando alacremente sulla tastiera lowcost <die.spam> > ebbe l'ardire di profferire: >>> non hai ancora capito la differenza tra contare gli uni e calcolare la=20 >> parita'. > > vengo ad impararla da te, maestro. ROTFL. non puoi venire a imparare niente da me, perche' io non voglio perdere tempo nel tentativo inutile di insegnarti qualcosa. >>> Eh grazie. Ma ti assicuro che SO BENE cosa sia. >> non credo proprio. > > Non è un problema mio. le due cose sono completamente diverse, soprattutto nel formato del risultato; se scrivi SW e non capisci la differenza, e' un problema tuo. > >> e secondo te contare gli uni sarebbe performante ? >> dal punto di vista del codice, della ram, dello stack, della velocita'o = > > Vedi tu. Lo stesso spectre s'è dato la soluzione ma _tu_ non hai una risposta valida alla mia domanda qui sopra ? > > int bits(unsigned i) { > int n = 0; > while (i) { > i &= i-1; > ++n; > } > return n; > } questo va benone _se_ deve contare gli uni. IMHO la riga "i &= i-1" e' assemblata con 3 opcode store_dec_and : usando shift_jpnc si lima un opcode. poi il codice potrebbe essere + compatto con do_while perche' testa il flag Z dopo lo shift invece che a inizio ciclo e quindi si lima via il jmp a fine ciclo; volendo invece calcolare la parita' si puo' fare ancora meglio. > >> ma citi a caso o sei un troll ? > > Ricapitoliamo perchè o non hai capito una cippa tu o non l'ho capita > io. Propendo per la prima ma nessuno è infallibile. Il titolo: > "calcolare la parità", il messaggio: devo contare gli uno. e qui io, cogliendo la differenza, ho chiesto educatamente "quale delle due" , mentre tu dici che sono la stessa cosa. > Bene. Se a lui serve contare gli uno e leggersi 'ste risultato (per > poi calcolarsi la parità) sono fatti suoi. qui stai immaginando intensamente oppure conosci i fatti suoi ? > Evidentemente ha qualche necessità che non conosciamo. e' piu' che evidente che non la conosci, ma fai ancora peggio: l' OP ha scritto che "Senza dover puntare ai singoli bit con un contatore so che si puo' fare con degli shift,ma non so' come." e nonostante questa dichiarazione tu insisti col contatore. > ...Tu salti fuori dicendo che non è così che si calcola la parità. falso. io ho scritto che: la parita' in asm puo' essere + compatta, dipende dal set di istruzioni. e' un bit (1 oppure 0). non e' il numero di uni (che nell' esempio dell' OP sono 3). e la parita' (even) di 11100000 e' 1, non e' 3 ! per calcolare la parita' non e' assolutamente necessario contare gli uni perche' il risultato e' un solo unico piccolo bit, che si puo' calcolare senza contatori (come si fa in hardware). confermo tutto e aggiungo che: IMHO, tra tutti i modi possibili, contare gli uni e' il peggiore. ma sono pronto a valutare Vs smentite e Vs esempi funzionanti. > Bene. Diciamo pure che se avessi avuto meno > spocchia magari il thread sarebbe già concluso. ti ringrazio dell' ottima idea: chiunque puo' leggere i miei ed i tuoi post e decidere da che parte stanno falso e spocchia. > Non vieni ad > insegnare a me come si calcola la parità e quali siano i metodi, io non indico metodi prima di aver capito la richiesta dell' OP; tu hai citato, confondendo XOR con elevamento a potenza, un esempio in cui: 1) con shift+exor+and accumula in 1 bit la parita' di 2 bit. (ma non conta gli uni) 2) con shift+exor+and accumula in 1 bit la parita' di 16 bit. (ma non conta gli uni) 3) con accesso a tabella preleva direttamente il risultato. (ma non conta gli uni) ecco quindi che ti ho chiesto: ma citi a caso o sei un troll ? > ma > pare che tu ti sia sentito in dovere di pensare che io o altri > dipendano dal tuo verbo (la battutina sul numero 3 degli uno è > emblematica). non era una battutina: ho riciclato il "byte pippo" dell OP Spectre che "è 11100000 in binario,la somma di tutti gli 1 è 3" per farti notare che la parita' (1) e' diversa dal numero di uni (3). > Libero di pensarla come vuoi, anche che sia sbagliato contare gli uno > per poi applicare la parità, non è che la cosa mi tanga poi più di > tanto. > eh certo, l' uva era acerba e perdere tempo cosi' e' un vero peccato. saluti (ultimi) |
|
#33
|
|
|
|
|
Pestando alacremente sulla tastiera lowcost <die.spam>
ebbe l'ardire di profferire: > le due cose sono completamente diverse, soprattutto nel formato del > risultato; se scrivi SW e non capisci la differenza, e' un problema tuo. E' già tutto condensato qui: <gdadpm$fp6$1> |
|
|
|
|
| Discussioni simili | |
| Buffer (void *) a cui accede byte a byte Nelle mie applicazioni mi ritrovo spesso a dover passare ad una funzione il puntatore ad un buffer in memoria. Come ho visto fare nelle varie funzioni di libreria (vedi... |
|
| come posso spostare un byte all'interno di un'altro byte? mi spiego,ho 2 byte già definiti(tipo:11110000 e 10001000)e voglio che il secondo byte entri parzialmente nel primo occupandone i primi 3 bit ,quindi con un byte risultante... |
|
| Integer=byte*byte [OVERFLOW?] Ciao a tutti il seguente codice Dim nRighe As Byte Dim nColonne As Byte Dim nElementi As Integer Dim i As Byte Dim ii As Byte Dim index As Integer |
|
| Conversione byte->string->byte Scusate la domanda banale, ma non riesco a capire che cosa devo fare per passare da dati di tipo byte a dati di tipo stringa e ritornare successivamente a tipi byte. var... |
|
| Calcolare la dimensione in byte Salve, ho un problema. Sto cercando qualche chiamata API in grado di dirmi una cartella quanti byte occupa e quanti files contiene. Sono riuscito a fare questo, ma purtroppo... |
|
|
Tutti gli orari sono GMT. Attualmente sono le 02:34. | Privacy Policy
|