Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Plaud Note Pro convince per qualità e integrazione, ma l’abbonamento resta un ostacolo
Plaud Note Pro convince per qualità e integrazione, ma l’abbonamento resta un ostacolo
Plaud Note Pro è un registratore digitale elegante e tascabile con app integrata che semplifica trascrizioni e riepiloghi, offre funzioni avanzate come template e note intelligenti, ma resta vincolato a un piano a pagamento per chi ne fa un uso intensivo
Google Pixel 10 è compatto e ha uno zoom 5x a 899€: basta per essere un best-buy?
Google Pixel 10 è compatto e ha uno zoom 5x a 899€: basta per essere un best-buy?
Google Pixel 10 è uno smartphone che unisce una fotocamera molto più versatile rispetto al passato grazie allo zoom ottico 5x, il supporto magnetico Pixelsnap e il nuovo chip Tensor G5. Il dispositivo porta Android 16 e funzionalità AI avanzate come Camera Coach, mantenendo il design caratteristico della serie Pixel con miglioramenti nelle prestazioni e nell'autonomia. In Italia, però, mancano diverse feature peculiari basate sull'AI.
Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre
Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre
L'abbonamento Ultimate di GeForce NOW ora comprende la nuova architettura Blackwell RTX con GPU RTX 5080 che garantisce prestazioni tre volte superiori alla precedente generazione. Non si tratta solo di velocità, ma di un'esperienza di gioco migliorata con nuove tecnologie di streaming e un catalogo giochi raddoppiato grazie alla funzione Install-to-Play
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 09-03-2010, 22:37   #1
Albitexm
Senior Member
 
Iscritto dal: Jun 2008
Messaggi: 384
[C++] dichiarare una variabile binaria

In C++ posso assegnare a una variabile un valore binario?
Io leggo tipi di dati: short,int,long,char,double,bool. Ma non trovo il tipo di dato binario. Se io ad esempio volessi che la variabile A sia = 00100001 cosa dovrei usare? Esiste il tipo di dato binario in C++ ?
Ora io voglio scrivere un elenco di byte, e poi eseguire l'AND tra loro. Io ho trovato il tipo _int64 ma si riferisce a un'intero decimale di 64bit. Ma allora dovrei prima di scrivere il programma convertire il binario in decimale, poi fare le operazioni booleane che m'interessano e poi convertile di nuovo in binario e il risultato quando lo uso convertirlo ancora in quel che mi serve? Io vorrei allocare dei dati di tipo binario e eseguire operazioni booleane tra loro. Il risultato binario: o manipolarlo con altre operazioni o convertirlo per il seguito del programma.

Ultima modifica di Albitexm : 09-03-2010 alle 23:03.
Albitexm è offline   Rispondi citando il messaggio o parte di esso
Old 09-03-2010, 23:12   #2
Tommo
Senior Member
 
L'Avatar di Tommo
 
Iscritto dal: Feb 2006
Messaggi: 1304
Beh in C/C++ tutti i tipi sono implicitamente tipi binari... quindi puoi trattarli tutti come sequenze di bits lunghe sizeof( tipo ) * 8.
Un elenco di bytes credo sia meglio realizzarlo con un array di char.

Poi, dato ogni singolo byte/char, puoi settare i bits individuali con gli operatori binari.
__________________
*ToMmO*

devlog | twitter
Tommo è offline   Rispondi citando il messaggio o parte di esso
Old 10-03-2010, 00:25   #3
Black imp
Senior Member
 
Iscritto dal: Nov 2000
Città: MILANO
Messaggi: 2662
usa un unsigned char e lavora in esadecimale.

Codice:
unsigned char valueArray[2] = {0x21, 0x01};

unsigned char finalValue = valueArray[0];

for (unsigned int i = 1; i < 2; i++)
{
      finalValue &= valueArray[i];
}
Black imp è offline   Rispondi citando il messaggio o parte di esso
Old 10-03-2010, 07:41   #4
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quote:
Originariamente inviato da Albitexm Guarda i messaggi
In C++ posso assegnare a una variabile un valore binario?
Io leggo tipi di dati: short,int,long,char,double,bool. Ma non trovo il tipo di dato binario. Se io ad esempio volessi che la variabile A sia = 00100001 cosa dovrei usare? Esiste il tipo di dato binario in C++ ?
Esiste il contenitore bitset.
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 10-03-2010, 10:50   #5
fero86
Senior Member
 
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
Quote:
Originariamente inviato da Albitexm Guarda i messaggi
Ma allora dovrei prima di scrivere il programma convertire il binario in decimale, poi fare le operazioni booleane che m'interessano e poi convertile di nuovo in binario e il risultato quando lo uso convertirlo ancora in quel che mi serve?
esattamente: devi fare questo, e nel farlo ti accorgerai (senza offesa ) di quanto sei fesso, perché per la conversione tra basi non dovrai fare assolutamente nulla

per le operazioni booleane bit a bit usa gli operatori bitwise: &, |, ^, ~
fero86 è offline   Rispondi citando il messaggio o parte di esso
Old 10-03-2010, 10:51   #6
fero86
Senior Member
 
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
Quote:
Originariamente inviato da Albitexm Guarda i messaggi
Se io ad esempio volessi che la variabile A sia = 00100001 cosa dovrei usare?
A = 33;

oppure

A = 0x21;
fero86 è offline   Rispondi citando il messaggio o parte di esso
Old 10-03-2010, 21:03   #7
Albitexm
Senior Member
 
Iscritto dal: Jun 2008
Messaggi: 384
Quote:
Originariamente inviato da fero86 Guarda i messaggi
esattamente: devi fare questo, e nel farlo ti accorgerai (senza offesa ) di quanto sei fesso, perché per la conversione tra basi non dovrai fare assolutamente nulla

per le operazioni booleane bit a bit usa gli operatori bitwise: &, |, ^, ~
ma ancora un dubbio: differenza tra opraatori bitwise e operatori logici generici. Ovvero l'operatore logico & io l'ho usato per scrivere espressioni tipo:
if condizione1 vera & condizione2 vera then .. mentre noi parliamo di eseguire la AND "matematica" tra due variabili. Il simbolo è sempre & ?
Albitexm è offline   Rispondi citando il messaggio o parte di esso
Old 10-03-2010, 21:25   #8
Albitexm
Senior Member
 
Iscritto dal: Jun 2008
Messaggi: 384
Quote:
Originariamente inviato da tomminno Guarda i messaggi
Esiste il contenitore bitset.
Grazie per l'indicazione. Ho visto sull'Help del compilatore le decine di voci relative a bitarray, bitset array ecc.. Sono giunto alla conclusione che è più semplice lavorare con degli array di tipo char (come sostiene Tommo) anche se ovviamente la resa sarà diversa. Si avrà una maggiore semplicità di stesura del codice a scapito delle prestazioni.
Albitexm è offline   Rispondi citando il messaggio o parte di esso
Old 10-03-2010, 22:02   #9
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quote:
Originariamente inviato da Albitexm Guarda i messaggi
ma ancora un dubbio: differenza tra opraatori bitwise e operatori logici generici. Ovvero l'operatore logico & io l'ho usato per scrivere espressioni tipo:
if condizione1 vera & condizione2 vera then .. mentre noi parliamo di eseguire la AND "matematica" tra due variabili. Il simbolo è sempre & ?
l'operatore And logico in tutti i linguaggi C-like è &&, l'operatore And sui singoli bit è &.
tomminno è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Plaud Note Pro convince per qualità e integrazione, ma l’abbonamento resta un ostacolo Plaud Note Pro convince per qualità e int...
Google Pixel 10 è compatto e ha uno zoom 5x a 899€: basta per essere un best-buy? Google Pixel 10 è compatto e ha uno zoom ...
Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre Prova GeForce NOW upgrade Blackwell: il cloud ga...
Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco Ecovacs Deebot X11 Omnicyclone: niente più...
Narwal Flow: con il mocio orizzontale lava i pavimenti al meglio Narwal Flow: con il mocio orizzontale lava i pav...
Non ci crederai: il nuovo MacBook Air M4...
Spotify cambia tutto, novità bomb...
Comprare un'auto elettrica costerà...
Nuovi aumenti di prezzo per gli HDD: Wes...
Arriva iOS 26: attenzione alla batteria....
Il satellite cinese Jilin-1 ha fotografa...
Arrivano i nuovi iPhone ed è subi...
Il chip N1 degli iPhone 17 supporta il W...
La cinese Space Pioneer riesce a eseguir...
Xiaomi copia Apple: arriva la serie 17 e...
A 10 anni dalla prima rilevazione delle ...
Samsung annuncia il rilascio della One U...
La nuova MG4 spopola: già 26.000 ...
Monopattini pericolosi? Secondo una rice...
La Commissione Europea respinge le richi...
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:05.


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