This predicate can be used as a function in arithmetic expressions. In coroutining mode, if Number or Index are uninstantiated, the call is delayed until these variables are instantiated.
% 10 is binary 1010
Result is getbit(10, 3). % gives Result = 1.
Result is getbit(10, 2). % gives Result = 0.
Result is getbit(10, 99). % gives Result = 0.
% Test for a 1-bit:
getbit(10, 3, 1) % succeeds
getbit(10, 2, 1) % fails
% Test for a 0-bit:
getbit(10, 3, 0) % fails
getbit(10, 2, 0) % succeeds