hilpers


  hilpers > hobby.* > hobby.elettronica.digitale

 #31  
21.10.2008, 14:25
lowcost
Due di Picche ha scritto:
[cut]

si, ho letto, ho risposto ieri, il messaggio e' in viaggio e prima o
poi apparira'.
 #32  
22.10.2008, 16:13
lowcost
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  
22.10.2008, 16:29
Due di Picche
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...

Confronto di files byte per byte

Come posso confrontare, in java, due file byte per byte, per verificare di avere eseguito un corretto backup di sicurezza ? Grazie

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 10:29. | Privacy Policy