Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Tastiera gaming MSI GK600 TKL: switch hot-swap, display LCD e tre modalità wireless
Tastiera gaming MSI GK600 TKL: switch hot-swap, display LCD e tre modalità wireless
MSI FORGE GK600 TKL WIRELESS: switch lineari hot-swap, tripla connettività, display LCD e 5 strati di fonoassorbimento. Ottima in gaming, a 79,99 euro
DJI Osmo Pocket 4: la gimbal camera tascabile cresce e ha nuovi controlli fisici
DJI Osmo Pocket 4: la gimbal camera tascabile cresce e ha nuovi controlli fisici
DJI porta un importante aggiornamento alla sua linea di gimbal camera tascabili con Osmo Pocket 4: sensore CMOS da 1 pollice rinnovato, gamma dinamica a 14 stop, profilo colore D-Log a 10 bit, slow motion a 4K/240fps e 107 GB di archiviazione integrata. Un prodotto pensato per i creator avanzati, ma che convince anche per l'uso quotidiano
Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori
Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori
Il primo headset open-back della linea INZONE arriva a 200 euro con driver derivati dalle cuffie da studio MDR-MV1 e un peso record di soli 199 grammi
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 28-11-2013, 19:07   #1
JohnMarco
Junior Member
 
Iscritto dal: Jan 2012
Messaggi: 9
[C] operazioni sui bit

Salve a tutti, vi scrivo per sottoporvi una questione :cercando di costruire delle maschere di bit mi sono imbattuto in un errore da cui non riesco a venir fuori. Io dichiaro due costanti
Codice:
#define CREATE 00001000;
#define OPEN 00002000;
e poi ad un certo punto nel codice, per sperimentare, faccio
Codice:
flag = (CREATE | OPEN);
flag ho provato a dichiararla int, short e unsigned short, sempre con lo stesso risultato. Il compilatore, su quella riga, mi risponde
Codice:
 error: expected ‘)’ before ‘;’ token
Mentre, sostituendo nella stessa espressione l'operatore "|" con "&" mi viene risposto
Codice:
error: lvalue required as unary ‘&’ operand
Come posso risolvere questa cosa?

Grazie
JohnMarco è offline   Rispondi citando il messaggio o parte di esso
Old 28-11-2013, 19:23   #2
||ElChE||88
Senior Member
 
Iscritto dal: Dec 2003
Messaggi: 4907
Il tuo codice viene espanso in:
Codice:
flag = (00001000; | 00002000;);
PS: sei sicuro di voler definire le flag in ottale (02000) e non in esadecimale (0x2000)?
||ElChE||88 è offline   Rispondi citando il messaggio o parte di esso
Old 28-11-2013, 20:03   #3
JohnMarco
Junior Member
 
Iscritto dal: Jan 2012
Messaggi: 9
Innanzitutto grazie per la risposta. Il tentativo l'ho fatto anche in esadecimale, con lo stesso esito. Ho preso quella definizione guardando le definizioni di Linux per i flag nelle aperture dei file o nell'utilizzo dei semafori. Quindi l'errore sarebbe nell'espansione, ma ciò deriva dalla definizione. Mi basta rimuovere il punto e virgola finale?
JohnMarco è offline   Rispondi citando il messaggio o parte di esso
Old 28-11-2013, 20:18   #4
Oceans11
Senior Member
 
L'Avatar di Oceans11
 
Iscritto dal: Sep 2005
Città: Torino
Messaggi: 606
Quote:
Originariamente inviato da JohnMarco Guarda i messaggi
Quindi l'errore sarebbe nell'espansione, ma ciò deriva dalla definizione. Mi basta rimuovere il punto e virgola finale?
esatto!
Questo perchè con la direttiva #define stai dando istruzioni al preprocessore, istruzioni che non sono proprie del linguaggio.
__________________
"Se proprio dovete piratare un prodotto, preferiamo che sia il nostro piuttosto che quello di qualcun altro." [Jeff Raikes]
"Pirating software? Choose Microsoft!"
Oceans11 è offline   Rispondi citando il messaggio o parte di esso
Old 28-11-2013, 20:28   #5
bancodeipugni
Senior Member
 
L'Avatar di bancodeipugni
 
Iscritto dal: Nov 2013
Città: Nel cuore dell'8 Mile di Detroit
Messaggi: 3974
le parentesi non sono necessarie
bancodeipugni è offline   Rispondi citando il messaggio o parte di esso
Old 29-11-2013, 09:29   #6
JohnMarco
Junior Member
 
Iscritto dal: Jan 2012
Messaggi: 9
Grazie mille.. Effettivamente era una banalità, però è uno di quei casi in cui cerchi l'errore più assurdo e non ti concentri sul semplice!! Grazie ad entrambi per le risposte
JohnMarco è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Tastiera gaming MSI GK600 TKL: switch hot-swap, display LCD e tre modalità wireless Tastiera gaming MSI GK600 TKL: switch hot-swap, ...
DJI Osmo Pocket 4: la gimbal camera tascabile cresce e ha nuovi controlli fisici DJI Osmo Pocket 4: la gimbal camera tascabile cr...
Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori Sony INZONE H6 Air: il primo headset open-back d...
Nutanix cambia pelle: dall’iperconvergenza alla piattaforma full stack per cloud ibrido e IA Nutanix cambia pelle: dall’iperconvergenza alla ...
Recensione Xiaomi Pad 8 Pro: potenza bruta e HyperOS 3 per sfidare la fascia alta Recensione Xiaomi Pad 8 Pro: potenza bruta e Hyp...
Robot più veloci dell'uomo: la me...
Palantir-manifesto, tra tecnologia e ide...
Classifica Amazon top 10 sconvolta: nuov...
DRAM, domanda fuori controllo: produzion...
HUDIMM e HSODIMM: la risposta dell'indus...
Il riconoscimento facciale è un'a...
Un affare pazzesco, finché dura o...
Lava a 75°, è un 21.000Pa con...
iPhone 18 Pro: il componente che garanti...
DeepL alza il livello: con Voice-to-Voic...
Apple sta utilizzando sempre più ...
Il MacBook Neo vende tanto? Microsoft le...
AST SpaceMobile BlueBird 7: Blue Origin ...
È il momento migliore per comprar...
Svendita MacBook Pro: c'è il mode...
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:46.


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