poke/peekの1bit単位版みたいなやつ。pokeとsetbit,peekとgetbitがだいたい対応。byte単位だったのがbit単位になっただけ。当たり前にビッグエンディアンの考え方だからね。
poke/peekの1bit単位版みたいなやつ。pokeとsetbit,peekとgetbitがだいたい対応。byte単位だったのがbit単位になっただけ。当たり前にビッグエンディアンの考え方だからね。
#module sgetbit #const FULL 0xFF #const NULL 0x00 #deffunc setbit var map, int ptr, int bit if (bit!=0) && (bit!=1) : return -1 if bit==0 : poke map, ptr/8, peek(map, ptr/8) & (FULL ^ (0x80 >> (ptr \ 8))) if bit==1 : poke map, ptr/8, peek(map, ptr/8) | (0x80 >> (ptr \ 8)) return 0 #defcfunc getbit var map, int ptr return (peek(map, ptr/8) & (0x80 >> (ptr \ 8))) != 0 #global