Perché le "maschere di bit" si chiamano così? So che sono principalmente usati per operazioni bit per bit e l'uso di maschere di bit è più efficiente dell'uso di variabili separate. Tuttavia la mia domanda è: perché e quando sono state inventate le maschere? Sono stati usati sin dai primi …
Qualcuno potrebbe spiegare la logica, perché in un gruppo di lingue più popolari (vedi nota sotto) gli operatori di confronto (==,! =, <,>, <=,> =) Hanno una priorità maggiore rispetto agli operatori bit a bit (&, |, ^ , ~)? Non credo di aver mai incontrato un uso in cui …
Un enum X : int(C #) o enum class X : int(C ++ 11) è un tipo che ha un campo interno nascosto intche può contenere qualsiasi valore. Inoltre, un numero di costanti predefinite di Xsono definite sull'enum. È possibile eseguire il cast dell'enum al suo valore intero e viceversa. …
Ho sfogliato un po 'di codice OpenJDK di recente e ho trovato alcuni intriganti pezzi di codice che hanno a che fare con operazioni bit-saggio . Ho anche posto una domanda al riguardo su StackOverflow. Un altro esempio che illustra il punto: 1141 public static int bitCount(int i) { 1142 …
Non che sia davvero un problema per chiunque abbia affrontato questo problema sintattico prima, ma vedo una grande quantità di confusione derivante dall'uso del caret ( ^) come l'operazione XOR al posto dell'operazione di esponenziazione matematica ampiamente accettata. Ovviamente ci sono molti posti in cui viene spiegato e corretto l'uso …
Mi è stato insegnato che lo spostamento in binario è molto più efficiente della moltiplicazione per 2 ^ k. Quindi volevo sperimentare e ho usato il seguente codice per testarlo: #include <time.h> #include <stdio.h> int main() { clock_t launch = clock(); int test = 0x01; int runs; //simple loop that …
Chiuso . Questa domanda deve essere più focalizzata . Al momento non accetta risposte. Vuoi migliorare questa domanda? Aggiorna la domanda in modo che si concentri su un problema solo modificando questo post . Chiuso 5 anni fa . I linguaggi di programmazione vengono spesso con vari operatori di bit …
Chiuso . Questa domanda deve essere più focalizzata . Al momento non accetta risposte. Vuoi migliorare questa domanda? Aggiorna la domanda in modo che si concentri su un problema solo modificando questo post . Chiuso 5 anni fa . Dopo aver letto l'ultima newsletter di CodeProject, mi sono imbattuto in …
Lavoro quasi esclusivamente in C ++ 11/14, e di solito mi arrabbio quando vedo codice come questo: std::int64_t mArray; mArray |= someMask << 1; Questo è solo un esempio; Sto parlando di manipolazione saggia in generale. In C ++, c'è davvero qualche punto? Quanto sopra è sconvolgente e soggetto a …
Allo stato attuale, questa domanda non è adatta al nostro formato di domande e risposte. Ci aspettiamo che le risposte siano supportate da fatti, riferimenti o competenze, ma questa domanda probabilmente solleciterà dibattiti, argomenti, sondaggi o discussioni estese. Se ritieni che questa domanda possa essere migliorata e possibilmente riaperta, visita …
Stavo guardando questo video sui valori massimo e minimo di numeri interi con segno. Prendi un esempio di un valore con segno positivo - 0000 0001 Il primo bit indica che il numero è positivo e gli ultimi 7 bit sono il numero stesso. Quindi è facilmente interpretabile come +1. …
Il "valore" è compreso tra 0 e 15 (i suoi valori possibili). Quando saranno soddisfatte quelle 4 condizioni "se"? Se il mio valore (int) = 2 significa 0010? if ((int)value & 0x1) { //statement here } if ((int)value & 0x2) { //statement here } if ((int)value & 0x4) { //statement …
2¹⁶-1 & 2⁵ = 2⁵ (o? Ovviamente?) Uno sviluppatore mi ha chiesto oggi cosa sono 65535 bit a bit e 32 ie 2¹⁶-1 & 2⁵ =? All'inizio ho pensato spontaneamente a 32, ma mi è sembrato facile dopo di che ho pensato per diversi minuti e poi ho risposto a …
Nand è noto come un gate logico 'universale', perché consente di definire tutte le altre porte logiche booleane: not(x) = nand(x,x) and(x, y) = not(nand(x, y)) or(x, y) = nand(not(x), not(y)) nor(x, y) = not(or(x, y)) xor(x, y) = nand(nand(a, nand(a, b)), nand(b, nand(a, b))) Questo è noto come nand-logic …
Puoi usare <<per moltiplicare e >>dividere i numeri in Python quando li trovo che trovo che usando il modo di spostamento binario di farlo sia 10 volte più veloce della divisione o moltiplicazione del modo normale. Perché usare <<e >>molto più veloce di *e /? Quali sono i processi dietro …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.