Torna indietro   Hardware Upgrade Forum > Software > Programmazione

HONOR Magic 8 Pro: ecco il primo TOP del 2026! La recensione
HONOR Magic 8 Pro: ecco il primo TOP del 2026! La recensione
HONOR ha finalmente lanciato il suo nuovo flagship: Magic 8 Pro. Lo abbiamo provato a fondo in queste settimane e ve lo raccontiamo nella nostra recensione completa. HONOR rimane fedele alle linee della versione precedente, aggiungendo però un nuovo tasto dedicato all'AI. Ma è al suo interno che c'è la vera rivoluzione grazie al nuovo Snapdragon 8 Elite Gen 5 e alla nuova MagicOS 10
Insta360 Link 2 Pro e 2C Pro: le webcam 4K che ti seguono, anche con gimbal integrata
Insta360 Link 2 Pro e 2C Pro: le webcam 4K che ti seguono, anche con gimbal integrata
Le webcam Insta360 Link 2 Pro e Link 2C Pro sono una proposta di fascia alta per chi cerca qualità 4K e tracciamento automatico del soggetto senza ricorrere a configurazioni complesse. Entrambi i modelli condividono sensore, ottiche e funzionalità audio avanzate, differenziandosi per il sistema di tracciamento: gimbal a due assi sul modello Link 2 Pro, soluzione digitale sul 2C Pro
Motorola edge 70: lo smartphone ultrasottile che non rinuncia a batteria e concretezza
Motorola edge 70: lo smartphone ultrasottile che non rinuncia a batteria e concretezza
Motorola edge 70 porta il concetto di smartphone ultrasottile su un terreno più concreto e accessibile: abbina uno spessore sotto i 6 mm a una batteria di capacità relativamente elevata, un display pOLED da 6,7 pollici e un comparto fotografico triplo da 50 MP. Non punta ai record di potenza, ma si configura come alternativa più pragmatica rispetto ai modelli sottili più costosi di Samsung e Apple
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 30-05-2011, 12:33   #1
djpeppe
Senior Member
 
L'Avatar di djpeppe
 
Iscritto dal: Sep 2006
Città: M.O.F.N. (Middle of Fuckin Nowhere)
Messaggi: 309
[C++] Operare sui bit

ciao,
se ho un byte con 00100000 e voglio cambiare ragionare solo sul sesto bit da destra (l'1) come posso fare.
nella mia idea ogni bit ha un suo significato, e perciò non voglio ragionare su tutto il byte ma solo su un bit. con quali funzioni posso prelevare un bit e modificarlo?
__________________
The Pepppppppppppppppppppppppppppp
"Sono figlio della libertà, ad essa devo tutto quello che sono"
djpeppe è offline   Rispondi citando il messaggio o parte di esso
Old 30-05-2011, 12:44   #2
GByTe87
Senior Member
 
L'Avatar di GByTe87
 
Iscritto dal: Mar 2007
Città: Milano Beach
Messaggi: 1696
Usa le maschere di bit e i bitwise operator.

Se vuoi impostare a 1 il sesto bit basta che fai..

Codice:
tuoByte = tuoByte | 00100000;
Se vuoi impostarlo a zero...

Codice:
tuoByte = tuoByte & 11011111;
Considera che il numero dopo l'operatore bitwise lo devi esprimere come decimale o esadecimale.

Altrimenti, potresti usare il container STL bitset.
__________________
~ Cthulhu: MacBookPro 13.3" ~ Azathoth: D510MO

Ultima modifica di GByTe87 : 30-05-2011 alle 15:25.
GByTe87 è offline   Rispondi citando il messaggio o parte di esso
Old 30-05-2011, 12:47   #3
tuccio`
Senior Member
 
Iscritto dal: Apr 2010
Città: Frosinone
Messaggi: 416
per creare una mask 0 .. 0 1 0 0 0 0 0 (solo un uno al sesto bit) così:

Codice:
unsigned int mask = 1 << 5; // errata corrige
quindi se vuoi il valore del sesto bit nella variabile x ti basta fare un end bitwise:

Codice:
if (mask & x)
{
  // il sesto bit in x è 1
}
else
{
  // è zero
}
se vuoi modificare solo il sesto bit puoi usare mezzi simili, magari con lo xor bitwise

Codice:
x = x ^ mask
gli zeri sono elementi neutri dello xor, mentre l'uno al sesto bit complementa (1 ^ 1 = 0 e 0 ^ 1 = 1)

Ultima modifica di tuccio` : 30-05-2011 alle 16:21.
tuccio` è offline   Rispondi citando il messaggio o parte di esso
Old 30-05-2011, 15:05   #4
marco.r
Senior Member
 
Iscritto dal: Dec 2005
Città: Istanbul
Messaggi: 1817
Quote:
Originariamente inviato da tuccio` Guarda i messaggi
per creare una mask 0 .. 0 1 0 0 0 0 0 (solo un uno al sesto bit) così:

Codice:
unsigned int mask = 1 << 6;
Quello e' il settimo bit
__________________
One of the conclusions that we reached was that the "object" need not be a primitive notion in a programming language; one can build objects and their behaviour from little more than assignable value cells and good old lambda expressions. —Guy Steele
marco.r è offline   Rispondi citando il messaggio o parte di esso
Old 30-05-2011, 15:31   #5
!fazz
Moderatore
 
L'Avatar di !fazz
 
Iscritto dal: Nov 2006
Messaggi: 21949
Quote:
Originariamente inviato da djpeppe Guarda i messaggi
ciao,
se ho un byte con 00100000 e voglio cambiare ragionare solo sul sesto bit da destra (l'1) come posso fare.
nella mia idea ogni bit ha un suo significato, e perciò non voglio ragionare su tutto il byte ma solo su un bit. con quali funzioni posso prelevare un bit e modificarlo?
devi mascherare

se vuoi forzarlo a 1 fai una or

variabile |=0x20;
se vuoi forzarlo a zero
variabile&=0xDF;

per il confronto prima mascheri e poi confronti



if (( variabile& 0x20)== 0x20)
{
//bit6=1
}
__________________
"WS" (p280,cx750m,4790k+212evo,z97pro,4x8GB ddr3 1600c11,GTX760-DC2OC,MZ-7TE500, WD20EFRX)
Desktop (three hundred,650gq,3800x+nh-u14s ,x570 arous elite,2x16GB ddr4 3200c16, rx5600xt pulse P5 1TB)+NB: Lenovo p53 i7-9750H,64GB DDR4,2x1TB SSD, T1000
!fazz è offline   Rispondi citando il messaggio o parte di esso
Old 30-05-2011, 16:20   #6
tuccio`
Senior Member
 
Iscritto dal: Apr 2010
Città: Frosinone
Messaggi: 416
Quote:
Originariamente inviato da marco.r Guarda i messaggi
Quello e' il settimo bit
yup, my fault
tuccio` è offline   Rispondi citando il messaggio o parte di esso
Old 31-05-2011, 09:01   #7
sottovento
Senior Member
 
L'Avatar di sottovento
 
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
Quote:
Originariamente inviato da djpeppe Guarda i messaggi
ciao,
se ho un byte con 00100000 e voglio cambiare ragionare solo sul sesto bit da destra (l'1) come posso fare.
nella mia idea ogni bit ha un suo significato, e perciò non voglio ragionare su tutto il byte ma solo su un bit. con quali funzioni posso prelevare un bit e modificarlo?
In alternativa puoi definire una struttura con mappa a bit:

Codice:
struct MyStruct
{
    int b0: 1;
    int b1: 1;
    int b2: 1;
    int b3: 1;
    int b4: 1;
    int b5: 1;
    int b6: 1;
    int b7: 1;
}
Puoi quindi accedere come struttura.b6.
__________________
In God we trust; all others bring data
sottovento è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


HONOR Magic 8 Pro: ecco il primo TOP del 2026! La recensione HONOR Magic 8 Pro: ecco il primo TOP del 2026! L...
Insta360 Link 2 Pro e 2C Pro: le webcam 4K che ti seguono, anche con gimbal integrata Insta360 Link 2 Pro e 2C Pro: le webcam 4K che t...
Motorola edge 70: lo smartphone ultrasottile che non rinuncia a batteria e concretezza Motorola edge 70: lo smartphone ultrasottile che...
Display, mini PC, periferiche e networking: le novità ASUS al CES 2026 Display, mini PC, periferiche e networking: le n...
Le novità ASUS per il 2026 nel settore dei PC desktop Le novità ASUS per il 2026 nel settore de...
Il MacBook Pro è sempre più...
Il prezzo della Switch 2 potrebbe divent...
TikTok chiarisce il funzionamento della ...
Samsung Galaxy A07 5G: il nuovo entry le...
Realme 16 in arrivo: un mix tra iPhone A...
Domenica di follia su Amazon: iPhone 17 ...
Questo portatile HP OMEN con Core Ultra ...
Robot aspirapolvere al prezzo giusto: le...
Il nuovo M5 Max potrebbe avere una GPU p...
Pulizie automatiche al top (e a prezzo B...
Casa più calda, spese più leggere: Tado ...
Mini PC mostruoso in offerta nascosta su...
Netflix promette 45 giorni di esclusivit...
Gigabyte: un handheld? Sì, ma sol...
Samsung conferma l'arrivo di tre variant...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 08:02.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v