Obrigado. Eu consegui fazer. Só estou tendo problema para preencher com os zeros até completar 16 bits. Se eu converto para string aí eu consigo, pois comparo se o campo está vazio e preencho os que estão com zeros. Mas como eu estou lidando com números, não estou conseguindo preencher com zeros. Por exemplo se eu converto 7 eu recebo 111, mas eu precisaria 0000000000000111. Eu tentei zerar a meu array antes, mas como estou usando a função MID para extrair o bit, parece que ela cancela e só aparece 111.