Salve a tutti ho la necessita di fare una rotazione a sinistra di una variabile tipo char. Penso che esista un operatore che fa questo vero? Come si usa? Praticamente dovrei fare questo:
b7 b6 b5 b4 b3 b2 b1 b0 ruotando di una posizione verso sinistra dovrei avere: b6 b5 b4 b3 b2 b1 b0 b7
Sul manuale del compilatore PICC tra gli operatori ho trovato ROR e ROL che sarebbero rispettivamente rotazione a destra e a sinistra ma non so come si usano...
Altra cosa dovrei leggere da una variabile tipo char un bit a mia scelta come potrei fare?
se sono quelli a pagina 86 servono solo come operazioni all'interno delle espressioni di costanti per l'assembler , totalmente inutili al tuo scopo
nel post precedente non ho menzionato la possibilita' di un breve pezzo di assembler in-line per eseguire le operazioni di rotate, non mi chiedere come si fa perche' non conosco ne il compilatore ne il linguaggio macchina dei pic.
se per eseguire test logici basta mettere in and ( bit a bit ) la variabile con una maschera adeguata.
l'espressione:
b & 0x40
e' non nulla se il settimo bit e' diverso da zero e cosi' via
l'uso dei bitfield (e delle union ) puo' permettere l'accesso diretto a bit per queste cose ti rimando ad un buon liro sul C, verifica inoltre se il compilatore ha delle estensioni non ANSI per l'accesso diretto ai bit
di quale manuale di quale compilatore C, ho la strana sensazione che stiamo parlando di cose diverse
io mi riferivo a questo PICC
HI-TECH PICC Compiler
formatting link
passami un riferimento al tuo e vediamo di che si tratta
0x40 in binario e' 01000000 , settimo bit ( contato primo-ottavo da destra a sinistra )
& e' l'and bit a bit per il C
cerchiamo di sincronizzarci: il mio scaricabile 'ora' dal sito e' lungo 316 pagine , prima pagina a colori e la seconda identica alla prima ma monocromatica...
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.