In C e incorporato, si utilizzano frequentemente costanti enumerate in cui ogni valore è una maschera bit con esattamente 1 bit impostato. (ad esempio 0x0001, 0x0002, 0x0004, ecc.) Esiste un nome standard per questo tipo di maschera di bit? Li ho visti indicati come flag, ma più di passaggio che come definizione standard. So che sembra snob, ma le "bandiere" non sembrano abbastanza tecniche? Qualcun altro ha un buon nome per questi? Non riesco ad immaginare che nessuno ne abbia inventato uno.Nome per una maschera di bit con set 1 bit
risposta
"Bandiere" è il termine accettato. "Passa giù una bandiera", "imposta questo flag", ecc.
La voce di Wikipedia per Flags dice che: flag si riferisce a uno * o più * bit che vengono utilizzati per memorizzare un valore * o codice binario *. Questo è esattamente il motivo per cui voglio qualcosa di meno generico. – ktrimbach
Non puoi sempre ottenere quello che vuoi. "Flag" è il termine standard per questa funzione. –
@ktrimbach, la voce wikipedia per la parola flag indica che il nome implica fortemente una mappatura diretta di un singolo bit su un singolo flag. E non ho mai sentito il termine usato per indicare più bit. – MSN
Il framework .NET ha un attributo Flags
che viene utilizzato per indicare esattamente il comportamento che si sta descrivendo.
Non si limitano a inventare nomi per quello che vogliono, quindi una bandiera è probabilmente il termine più accettabile.
Questa è una buona referenza. .NET definisce un FlagAttribute per l'enumerazione e MSDN lo descrive come in questo modo. Non sono sicuro di ciò che fa bene oltre a consentire a ToString() di concatenare più enumerazioni insieme, ma è illustrativo. – ktrimbach
Ho anche visto "bit flag".
Ho trovato un articolo del Dr Dobbs che menziona "Bit Flag Enumerations". Questo è un po '("scuse pun") più vicino a quello che sto pensando. http://www.drdobbs.com/184403893 – ktrimbach
"Flag" viene utilizzato per questi da decenni e va bene. Il mio vecchio C64 già aveva una bandiera a zero, portare la bandiera, ecc Vedi qui per ulteriori informazioni:
http://en.wikipedia.org/wiki/Flag_(computing%29
http://en.wikipedia.org/wiki/Status_register
non so esattamente quando questo termine è stato coniato e da chi.
Il link Wikipedia parla specificamente di registri di stato e parole di bandiera. Si tratta di flag di bit hardware. Probabilmente è da dove viene, ma sto cercando qualcosa in più. – ktrimbach
@ktrimbach: Il primo collegamento (ho modificato il mio post così ora funziona) dice anche: 'In altri casi, i valori binari possono rappresentare uno o più attributi in un campo bit, spesso correlati a capacità o permessi, come "può essere scritto su" o "può essere cancellato". ' – Secure
In matematica, un insieme singleton è un insieme con esattamente un elemento, quindi è possibile chiamarli singolarmente un bitset singleton o un bitmask singleton, ma in pratica non l'ho visto.
- 1. Posso creare una maschera di bit da 1 a 64 bit senza condizionale in Java?
- 2. Usando una maschera di bit in C#
- 3. Algoritmo per generare la maschera di bit
- 4. Che cos'è una maschera di bit e una maschera?
- 5. Come si disattiva un bit specifico in una maschera bit?
- 6. Il modo più veloce per calcolare una maschera di bit X-bit?
- 7. Come genrate una maschera di bit in bianco e nero per una bitmap a 32 bit
- 8. manipolazione Bit in C# utilizzando una maschera
- 9. Come controllo, se la maschera di bit contiene bit?
- 10. operazioni Mysql bit per bit e filtrare
- 11. PHP debug_backtrace uso maschera di bit
- 12. SQL Server: varbinary o int per memorizzare una maschera bit?
- 13. come convertire un int in una maschera di bit?
- 14. Come implementare una maschera di bit in PHP?
- 15. Cosa fa il codice bit per bit "$ n & ($ n - 1)"?
- 16. l'esecuzione di una somma bit a bit
- 17. creare una maschera di bit il permesso in Java
- 18. Codice veloce per la ricerca di array di bit per set contigui/chiari bit?
- 19. Bit Utilizzo maschera nel programma di programmazione da Perle
- 20. Convenzioni di denominazione dei parametri della maschera di bit?
- 21. Quale struttura dati per una matrice di bit di bit?
- 22. Operatore bit a bit per ottenere byte da 32 bit
- 23. Spiegare il comportamento dei bit-field 1-bit
- 24. Come per avvolgere una funzione che restituisce una maschera di bit in Python
- 25. OR bit per bit delle costanti
- 26. Elenco Python per operazioni bit a bit
- 27. Inversione bit tramite bit a bit
- 28. operazioni bit per bit in Postgres
- 29. Bit bit shifting e scartare bit
- 30. numero di 1 in 32 bit numero
La bandiera mi sembra abbastanza ragionevole - "una potenza di due" in realtà non spiega molto, la bandiera è almeno migliore di questa. –
@Will A - In realtà, questo è il mio punto principale. Se stai usando il potere di due, le tue "bandiere" sono completamente indipendenti. Puoi OR, AND e NOT loro e basta cambiare/controllare l'uno o due che ti interessa senza cambiare nessun altro. – ktrimbach