This is an old revision of the document!
Bitioperatsioonide teek on üldkasutatav makrofunktsioonide kogum tüüpiliste bititehete teostamiseks. Seda kasutavad kõik teised teegid, kuid seda võib kasutada ükskõik milliste registrite või andmete puhul, sest makrofunktsioonidel pole kindlat andmetüüpi. Funktsioonid sobivad nii 8-, 16- kui ka 32-bitiste muutujate ning registrite jaoks.
Bitiindeksiks loetakse biti järjekorranumbrit, alustades kõige vähemtähtsast (inglise keeles least significant bit, lühend LSB). Loendamine algab nullist. 8-bitiste arvude puhul on bitiindeksi väärtus 0-7, 16-bitiste puhul 0-15 ja 32-bitiste puhul 0-31.
Bitiindeksi teisendamine bitimaskiks. Parameetrid:
Muutujas kindla biti kõrgeks seadmine. Parameetrid:
Muutujas kindla biti madalaks seadmine. Parameetrid:
Muutujas kindla biti soovitud olekusse seadmine. Parameetrid:
Muutujas kindla biti oleku ümberpööramine (madal kõrgeks ja vastupidi). Parameetrid:
Väärtuse kindla biti kõrgeloleku kontroll. Parameetrid:
Väärtuse kindla biti madaloleku kontroll. Parameetrid:
Muutujas b kolmanda biti kõrgeks seadmine ja viimase ümberpööramine.
#include <homelab/bit.h> int main(void) { unsigned char b = 0x00; bit_set(b, 2); bit_invert(b, 7); }