? Valores Binary Coded Decimal usar um padrão binário para representar os dígitos de zero a nove . Como Visual Basic não usa o tipo de dados BCD , ele não tem uma função built-in que converte valores BCD com valores decimais. No entanto, você pode programar sua própria função que irá aceitar a entrada formatado como um valor BCD e quebrá-lo em petiscos quatro bits, ou pedaços , e depois converter esses petiscos para um número decimal. Instruções
1
Type " BCD_to_int Função Pública (entrada ByVal As Long ) " para abrir a sua função. Use um tipo de dados numérico menor em vez de Long para economizar espaço , se você sabe que seu programa não irá trabalhar com grandes números.
2
Digite "temp Dim As Integer " e " Dim decNum como Integer " para declarar dois inteiros em sua função . Digite " Dim strNum como String ="
3
Type " " declarar uma string e inicializar com nenhum texto. "Embora não num = 0" para abrir um loop While que vai repetir até que o número da função recebe torna-se zero. Digite " For i = 0 To 3" na próxima linha para começar um ciclo contados.
4 Tipo
"temp = num Mod 10 " e " num /= 10 " na linha seguinte . A primeira linha vai isolar o dígito mais à direita do número BCD e armazená-lo na variável " temp" . A próxima linha vai mudar o decimal do número BCD para a esquerda.
5 Tipo
" Se temp = 1 Then" para abrir uma verificação condicional que determina se o programa precisa adicionar ao valor de seu número decimal. Desde que você só precisa adicionar quando " temp" é igual a um , não inclua uma cláusula de " elseif " para temperatura igualando a zero
6
Digite o seguinte código no seu "If" declaração: .
Se temp = 1 Então
Se i = 0 Then
decNum + = 1
ElseIf i = 1 Então
decNum + = 2
ElseIf i = 2 Então
decNum + = 4
ElseIf i = 3 Então
decNum + = 8
End If
End If
Estas condições adicionar o valor decimal apropriado para o seu total com base em qual dos quatro bits em cada mordiscar ele verifica . A variável " decNum " vai conter o valor decimal da mordidela de quatro bits .
7 Tipo
"Next i" na linha seguinte para dizer ao seu laço "for" para passar para o próximo dígito a mordidela . Quando o programa foi verificado todos os quatro bits , ele vai ter calculado o próximo dígito do seu decimal. Digite " strNum = decNum & strNum " para anexar este valor para o lado esquerdo da sua string. Digite " decNum = 0" para repor esta variável antes da próxima iteração do seu loop while.
8 Tipo
" End While " para fechar o seu Enquanto loop. Digite " decNum = strNum " para forçar o Visual Basic para converter a string com o seu valor decimal em um número inteiro e armazená-lo na variável " decNum " . Você pode então manipular esta variável , conforme necessário. Digite "Return decNum " para enviar o valor decimal de volta para onde o seu programa chamado sua função a partir . Digite " End Function " para fechar a função.