Ad esempio, un bit o un booleano possono essere 0 o 1, quindi il numero 2 è associato ad esso. Allo stesso modo, per un byte che è 8 bit, il numero massimo di assegnazioni differenti sarebbe 2 ^ 8.
C'è un nome per questo numero?
Quando passiamo tutto attraverso il nostro sistema che ha ECMAScript, Java e MySQL, allora un booleano non ha solo due possibili assegnazioni. Ad esempio, un falso booleano viene salvato come 0 e il valore in box potrebbe essere nullo, quindi un booleano può ottenere all'improvviso true, false, 0, 1, null o anche undefined o <missing>
.
Penso che potrebbe risultare problematico nei test per garantire che i valori non siano incoerenti. Ad esempio, un valore boolean locked
potrebbe diventare null
e quindi quando uno script o un modello di layout lo valuta, valuterà a false
da qualche parte se il valore reale era null
e problemi simili.
Quindi perché non affermiamo sempre che un booleano ha lo stesso numero di valori possibili (2 valori) e allo stesso modo di altri tipi?
C'è un termine matematico chiamato " arity " che è qualcosa di simile ma non esattamente, e anche la statistica e la teoria della probabilità ha il concetto di " spazio eventi " che sarebbe quasi esattamente ciò che intendo. Ad esempio, lo spazio eventi per un booleano sarebbe il set {0,1}
che ha cardinalità 2 e che la cardinalità non viene preservata nel sistema, specialmente quando i dati vengono passati come poliglotti e / o serializzati (json, jsonp, xml, YAML).