Co je booleovské pole?

Booleovské pole v počítačovém programování je posloupnost hodnot, které mohou obsahovat pouze hodnoty true nebo false. Podle definice může být booleovský řetězec pouze pravdivý nebo nepravdivý a není schopen držet žádnou jinou zprostředkující hodnotu. Pole je posloupnost datových typů, které zaujímají numerické pozice v lineárním paměťovém prostoru. Zatímco skutečná implementace logického pole je často ponechána na kompilátorech nebo knihovnách počítačového jazyka, je to nejúčinnější pomocí bitů namísto úplných bajtů nebo slov. Booleovské pole má několik využití, včetně sledování příznaků vlastností a nastavení zarovnání pro fyzické hardwarové rozhraní.

Myšlenka Booleovského pole vychází z původních metod, které byly použity k ukládání informací do počítačů, kde byla velmi malá dostupná paměť. První implementace booleovského pole měla podobu bitového pole. To používalo větší datové typy, jako jsou například bajty nebo dlouhá celá čísla, k uchování informací nastavením bitů datového typu na true nebo false. Tímto způsobem by jeden bajt dlouhý osm bitů mohl uchovávat osm různých pravdivých nebo nepravdivých hodnot, což šetří prostor a umožňuje efektivní bitové operace.

Jak se velikost počítačové paměti zvětšovala, klesla potřeba používat bitová pole. Zatímco použití bitů nabízí možnost bitového posunu a použití logických operátorů, které umožňují neuvěřitelně rychlé zpracování, vyžaduje také vlastní kód pro zpracování těchto typů operací. Použití standardní struktury pole k držení posloupnosti bajtů je jednodušší řešení, ale během provádění programu trvá mnohem více paměti. To lze vidět při vytváření pole 32 booleovských hodnot. U bitového pole budou data zabírat pouze čtyři bajty paměti, ale pole typu Boolean může zabírat kdekoli od 32 do 128 bajtů, v závislosti na implementaci systému.

Některé počítačové programovací jazyky skutečně implementují bitové pole, když je použit typ booleovského pole, ačkoli to není běžné. Booleovské pole má tu výhodu, že je velmi snadno čitelné při prohlížení zdrojového kódu. Porovnání a přiřazení jsou uvedena jasně, zatímco u bitového pole musí být použity logické operátory "a", "nebo" a "ne", což potenciálně vytváří matoucí kód.

Navzdory snadnosti použití je jednou funkcí, kterou nelze použít s booleovským polem, bitmask. Bitmask je jednobajtový nebo větší datový typ, který obsahuje sled pravdivých a nepravdivých hodnot vztahujících se k více podmínkám. V jedné operaci lze více bitů zkontrolovat na jejich pravdivý nebo nepravdivý stav, všechny najednou. S celočíselným polem booleovských hodnot by se stejná operace musela provést se smyčkou.

JINÉ JAZYKY

Pomohl vám tento článek? Děkuji za zpětnou vazbu Děkuji za zpětnou vazbu

Jak můžeme pomoci? Jak můžeme pomoci?