Fácil. Use um E bit a bit para comparar seu número com o valor 2 ^ bitNumber, que pode ser calculado de forma barata por deslocamento de bits.
//your black magic
var bit = (b & (1 << bitNumber-1)) != 0;
EDIT: Para adicionar um pouco mais de detalhes porque existem muitas respostas semelhantes sem explicação:
Um AND bit a bit compara cada número, bit a bit, usando uma junção AND para produzir um número que é a combinação de bits em que o primeiro e o segundo bit naquele local foram definidos. Aqui está a matriz lógica da lógica AND em um "nibble" que mostra a operação de um AND bit a bit:
0101
& 0011
----
0001 //Only the last bit is set, because only the last bit of both summands were set
No seu caso, comparamos o número que você passou com um número que possui apenas o bit que você deseja procurar definido. Digamos que você esteja procurando o quarto bit:
11010010
& 00001000
--------
00000000 //== 0, so the bit is not set
11011010
& 00001000
--------
00001000 //!= 0, so the bit is set
A alteração de bits, para produzir o número com o qual queremos comparar, é exatamente o que parece: pegue o número, representado como um conjunto de bits, e desloque esses bits para a esquerda ou para a direita por um certo número de casas. Como esses são números binários e cada bit é uma potência de dois maior do que aquele à sua direita, o deslocamento de bits para a esquerda equivale a dobrar o número uma vez para cada casa que é deslocada, equivalente a multiplicar o número por 2 ^ x. No seu exemplo, procurando o quarto bit, executamos:
1 (2^0) << (4-1) == 8 (2^3)
00000001 << (4-1) == 00001000
Agora você sabe como isso é feito, o que está acontecendo no nível inferior e por que funciona.
var bit = (b & (1 << bitNumber-1)) != 0;