Mis on Boole’i ​​massiiv?

Boole’i ​​massiiv arvutiprogrammeerimises on väärtuste jada, mis võib sisaldada ainult tõene või väär väärtusi. Definitsiooni järgi saab Boole’i ​​väärtus olla ainult tõene või väär ja see ei saa sisaldada ühtegi muud vaheväärtust. Massiiv on andmetüüpide jada, mis hõivavad lineaarses mäluruumis numbrilised positsioonid. Kuigi Boole’i ​​massiivi tegelik juurutamine jäetakse sageli kompilaatori või arvutikeele teekide hooleks, on seda kõige tõhusam teha, kui kasutada täisbaitide või sõnade asemel bitte. Boole’i ​​massiivi kasutusvõimalusi on mitu, sealhulgas atribuutide lippude jälgimine ja füüsiliste riistvaraliideste sätete joondamine.

Boole’i ​​massiivi idee tuleneb algsetest meetoditest, mida kasutati teabe salvestamiseks arvutites, kus oli väga vähe vaba mälu. Boole’i ​​massiivi esimene teostus võeti bitimassiivi kujul. See kasutas teabe hoidmiseks suuremaid andmetüüpe, näiteks baite või pikki täisarve, määrates andmetüübi bitid väärtuseks tõene või väär. Sel viisil võib üks kaheksa bitti pikkune bait sisaldada kaheksat erinevat tõest või vale väärtust, säästes ruumi ja võimaldades tõhusaid bitipõhiseid toiminguid.

Arvuti mälumahu suurenedes vähenes vajadus bitimassiivide kasutamise järele. Kuigi bittide kasutamine pakub võimalust bittide nihutamiseks ja loogiliste operaatorite kasutamiseks, mis võimaldavad uskumatult kiiret töötlemist, nõuab see seda tüüpi toimingute käsitlemiseks ka kohandatud koodi. Standardse massiivistruktuuri kasutamine baitide jada hoidmiseks on lihtsam lahendus, kuid see võtab programmi täitmise ajal palju rohkem mälu. Seda võib näha 32 Boole’i ​​väärtuse massiivi loomisel. Bitimassiivi korral hõivavad andmed ainult neli baiti mälu, kuid Boole’i ​​tüüpi massiiv võib olenevalt süsteemi rakendamisest hõivata 32 kuni 128 baiti.

Mõned arvutiprogrammeerimiskeeled rakendavad tegelikult bitimassiivi, kui kasutatakse Boole’i ​​massiivi tüüpi, kuigi see pole tavaline. Boole’i ​​massiivi eeliseks on see, et seda on lähtekoodi vaatamisel väga lihtne lugeda. Võrdlused ja määramised on esitatud selgelt, samas kui bitimassiivi puhul tuleb kasutada loogilisi operaatoreid “ja”, “või” ja “mitte”, mis võib tekitada segadusse ajavat koodi.

Vaatamata kasutuslihtsusele on üks funktsioon, mida Boole’i ​​massiiviga kasutada ei saa, on bitimask. Bitmask on ühebaidine või suurem andmetüüp, mis sisaldab mitme tingimusega seotud tõeste ja valede väärtuste jada. Ühe toiminguga saab korraga kontrollida mitme biti tõese või vale olekut. Täisarvupõhise Boole’i ​​väärtuste massiivi puhul tuleks sama toiming teha tsükliga.