step-80 Inserito: 13 gennaio 2014 Segnala Share Inserito: 13 gennaio 2014 (modificato) Ragazzi mi scuso con l'autore del la mia intromissione ma volevo chiedere da perfetto ignorante cosa può servire 'shiftare' di un bit a destra o a sinistra. Nelle mie semplici applicazioni non ho mai dovuto utilizzarlo ma mi sono sempre chiesto cosa possa servire. Se qualche anima pia volesse perdere dieci minuti gliene sarei enormemente grato Grazie Matteo Modificato: 13 gennaio 2014 da Livio Migliaresi Link al commento Condividi su altri siti More sharing options...
Livio Migliaresi Inserita: 13 gennaio 2014 Segnala Share Inserita: 13 gennaio 2014 Separato il tuo messaggio dalla discussione in cui l'avevi inserito, conservandone il link. Il regolamento prima, e la logica poi, vietano gli accodamenti. Link al commento Condividi su altri siti More sharing options...
step-80 Inserita: 13 gennaio 2014 Autore Segnala Share Inserita: 13 gennaio 2014 (modificato) La ringrazio e mi scuso per l'errore. *** releghiamo il 'lei' ai rapporti formali, informalmente nel Forum ci diamo tutti del 'tu'. Modificato: 13 gennaio 2014 da Livio Migliaresi Link al commento Condividi su altri siti More sharing options...
lelos Inserita: 13 gennaio 2014 Segnala Share Inserita: 13 gennaio 2014 ciao esempio per tener conto della posizione di una pezzo si scarto su un tavola rotante Link al commento Condividi su altri siti More sharing options...
step-80 Inserita: 13 gennaio 2014 Autore Segnala Share Inserita: 13 gennaio 2014 Grazie Lelos, ma purtroppo causa mia immensa ignoranza ed inesperienza non capisco cosa tu intenda. Urgerebbe esempio pratico.. Link al commento Condividi su altri siti More sharing options...
Stef U. Inserita: 13 gennaio 2014 Segnala Share Inserita: 13 gennaio 2014 (modificato) Credo che quello che intenda lelos sia un utilizzo del genere. Supponi di avere una tavola rotante a 10 stazioni, dove alla stazione 2 (numero a caso) viene effettuato un controllo sulla validità del pezzo. La stazione 8 invece si occupa dell'espulsione dei pezzi che non hanno passato il "controllo qualità". Questa macchina usa un registro tra la postazione 2 e 8, dove la postazione 2 va a mettere un "1" se il controllo è passato o uno "0" se il controllo ha avuto esito negativo. Quando la postazione 8, trova un bit 0, scarta il pezzo. Qui entra in gioco lo shift, a ogni rotazione della tavola, il bit appena registrato nella postazione 2 viene spostato di un bit, "seguendo", di fatto, il pezzo nella stazione 3, 4, 5, ecc... fino a portare il bit corretto (test passato, o meno) alla stazione 8, insieme al pezzo corrispondente. Spero di essermi spiegato Comunque questo credo sia solo uno dei tanti possibili utilizzi di questa funzione, ma anche la più usata nel mio settore Modificato: 13 gennaio 2014 da Stef U. Link al commento Condividi su altri siti More sharing options...
step-80 Inserita: 13 gennaio 2014 Autore Segnala Share Inserita: 13 gennaio 2014 Credo di aver capito. Almeno l'esempio riportato. In effetti mi sono sempre chiesto come fosse possibile rilevare uno scarto su una ' catena' e poi scartarlo fisicamente n pezzi dopo. Praticamente è come se il bit che memorizza lo stato "corresse" lungo il registro.. Sino ad arrivare al punto dove voglio verificarne lo stato. Sbaglio? Grazie Stefano e Lelos... Qualche altro esempio? Link al commento Condividi su altri siti More sharing options...
Stef U. Inserita: 13 gennaio 2014 Segnala Share Inserita: 13 gennaio 2014 Esatto! Il bit associato alla validità o meno del pezzo nella posizione X della tavola rotante, viene traslato di N bit, posizione per posizione, fino a quando il pezzo arriva in posizione Y, dove a seconda del bit scritto in posizione X, avviene un azione particolare. Guarda tutti i miei esempi sarebbero riconducibili a quello sopra, cambierebbe solo l'azione del sistema. Al posto di uno scarto, potrebbe essere regolare un dosaggio in base a determinate misurazioni. Purtroppo altre idee non mi vengono Figurati, è un piacere Link al commento Condividi su altri siti More sharing options...
step-80 Inserita: 13 gennaio 2014 Autore Segnala Share Inserita: 13 gennaio 2014 Grazie 1000 Stefano sei stato chiarissimo! Spero di poter ricambiare Link al commento Condividi su altri siti More sharing options...
step-80 Inserita: 14 gennaio 2014 Autore Segnala Share Inserita: 14 gennaio 2014 Dato che ci siamo.. Io ho una macchina con una tavola rotante a 10 posizioni. Nella stazione N1 il pezzo viene caricato, nel passaggio tra la 1 e la 2 vi è un sensore che rileva la presenza o meno del pezzo per effettuare o meno il riempimento. Ora, tralasciando le stazioni intermedie, alla stazione n7 ho una cesoia che avrei piacere NON funzionasse se il pezzo non è presente. Mi sono sempre chiesto come potevo fare per discriminare la presenza senza mettere un sensore anche li... Grazie a voi credo di esserci arrivato mediante l'uso dello shift. Dunque, per prima cosa che variabile è meglio dichiarare? Word? Int? Array? Come dicevo le stazioni sono 10. Supponendo una word, al rilevamento del pezzo metto ad"1" il primo bit. Ad ogni fronte del finecorsa della tavola rotante, effettuo uno shift a sx di un posto, e controllo lo stato del 7* bit. Ho detto una stupidata? Link al commento Condividi su altri siti More sharing options...
Stef U. Inserita: 14 gennaio 2014 Segnala Share Inserita: 14 gennaio 2014 Grazie 1000 Stefano sei stato chiarissimo! Spero di poter ricambiare Figurati, per così poco! Quando posso, data la mia inesperienza, aiuto volentieri gli altri Supponendo una word, al rilevamento del pezzo metto ad"1" il primo bit. Ad ogni fronte del finecorsa della tavola rotante, effettuo uno shift a sx di un posto, e controllo lo stato del 7* bit. Comunque il tuo ragionamento è esatto, però mi sfugge un dettaglio. Non dovresti shiftare a destra, quando la tavola ruota? così dopo 7 rotazioni il bit del primo pezzo è arrivato alla settima posizione e la cesoia taglia o meno! Adesso apro il tia e faccio una prova Link al commento Condividi su altri siti More sharing options...
step-80 Inserita: 14 gennaio 2014 Autore Segnala Share Inserita: 14 gennaio 2014 Ignorantemente intendevo il primo bit quello meno significativo,cioè quello a dx. 'Shiftando' a sx ho inteso si andasse verso i bit più significativi. Forse c' è un altro errore. Al rilevamento del pezzo dovrei scrivere '1' sul 2° bit,e non sul primo,per poter leggere lo stato corrispondente alla stazione cesoia al 7° bit. Sbaglio? Se lo scrivo sul primo,dovrei andare a leggere sul 6°,secondo la mia mente da premio No-bel Link al commento Condividi su altri siti More sharing options...
Stef U. Inserita: 14 gennaio 2014 Segnala Share Inserita: 14 gennaio 2014 Ignorantemente intendevo il primo bit quello meno significativo,cioè quello a dx. Aaaaaaaah ok, allora dovresti shiftare a sinistra! Adesso è chiaro Se lo scrivo sul primo,dovrei andare a leggere sul 6°,secondo la mia mente da premio No-bel Ahahahahahahah battute a parte, hai ragione: se il rilevamento (e quindi la scrittura del bit) avviene tra la stazione 1 e 2, il bit da leggere alla postazione 7 è il numero 6! Ma io comunque scriverei in posizione 1 e leggerei in posizione 6 Link al commento Condividi su altri siti More sharing options...
step-80 Inserita: 14 gennaio 2014 Autore Segnala Share Inserita: 14 gennaio 2014 Ribadisco la domanda di qualche post fa: che variabile è consigliabile dichiarare? O meglio: che variabile posso dichiarare per eseguire uno shift? Link al commento Condividi su altri siti More sharing options...
Stef U. Inserita: 14 gennaio 2014 Segnala Share Inserita: 14 gennaio 2014 Non avendone mai creato uno l'unico aiuto che posso darti è questo link. Si tratta di quello che intendi fare? Parla di variabile Word Link al commento Condividi su altri siti More sharing options...
Giuseppe Signorella Inserita: 14 gennaio 2014 Segnala Share Inserita: 14 gennaio 2014 (modificato) Ribadisco la domanda di qualche post fa: che variabile è consigliabile dichiarare? O meglio: che variabile posso dichiarare per eseguire uno shift? Ma che domanda è? Dipende da ciò che vuoi realizzare. Tanto per farti un esempio, se vuoi realizzare delle luci tipo supercar, la domanda da porsi sarebbe: Quante lampadine voglio inserire? 8? dichiaro un byte 16? dichiaro una word 32? dichiaro un double Modificato: 14 gennaio 2014 da Giuseppe Signorella Link al commento Condividi su altri siti More sharing options...
step-80 Inserita: 14 gennaio 2014 Autore Segnala Share Inserita: 14 gennaio 2014 Da perfetto ignorante pensavo che la funzione shift non funzionasse con tutte le variabili ma solo con alcune. Grazie per la delucidazione Link al commento Condividi su altri siti More sharing options...
Werner Inserita: 14 gennaio 2014 Segnala Share Inserita: 14 gennaio 2014 Lo shift, in piu' a sinistra moltiplica per 2 a destra con un po' di gestione del resto divide per 2. Link al commento Condividi su altri siti More sharing options...
Messaggi consigliati
Crea un account o accedi per commentare
Devi essere un utente per poter lasciare un commento
Crea un account
Registrati per un nuovo account nella nostra comunità. è facile!
Registra un nuovo accountAccedi
Hai già un account? Accedi qui.
Accedi ora