ubiquitour.com

¿Cómo convertir BCD a Decimal en Visual Basic?

Binario codificado Decimal valores utilizan un patrón binario para representar los números cero a nueve. Como Visual Basic no utiliza el tipo de datos de BCD, no tiene una función incorporada que convierte los valores de BCD a decimales valores. Sin embargo, usted puede programar su propia función que acepte entrada con formato como un valor BCD y rompa en cuatro bits nibbles o trozos y luego convertir esos mordiscos en un número decimal.

Instrucciones

1 Tipo de "Función pública BCD_to_int(ByVal input As Long)" para abrir la función. Usar un tipo más pequeño de los datos numéricos en vez de largo para ahorrar espacio si conoces que el programa no funciona con números grandes.

2 Tipo "Dim temp como entero" y "Dim decNum entero" a declarar dos enteros en su función. Tipo "strNum Dim cadena =" "" para declarar una cadena e inicializar sin texto.

3 Tipo "mientras no num = 0" para abrir un bucle que se repetirá hasta que el número de la función se convierte en cero. Tipo "For i = 0 a 3" en la línea siguiente para comenzar un lazo de contado.

4 Tipo "temp = num Mod 10" y "num = 10" en la línea siguiente. La primera línea será aislar el dígito del extremo derecho del número BCD y almacenarlo en la variable "temperatura". La siguiente línea desplazará el decimal del número BCD a la izquierda.

5 Tipo "Si temp = 1 entonces" para abrir una comprobación condicional que determina si tu programa necesita agregar al valor de su número decimal. Puesto que usted necesita solamente agregar cuando "temp" es igual a uno, no incluyen una cláusula de "elseif" para temperatura igualando a cero.

6 Escriba el código siguiente en la instrucción "If":

Si temp = 1 entonces

Si i = 0 entonces

decNum += 1

ElseIf i = 1 entonces

decNum += 2

ElseIf i = 2 entonces

decNum += 4

ElseIf i = 3 entonces

decNum += 8

End If

End If

Estas condiciones añaden que el valor decimal correspondiente a su total basado en cuál de los cuatro bits en cada nibble se comprueba. La variable "decNum" tendrá el valor decimal de lo cuatro bits nibble.

7 Tipo "siguiente" en la línea siguiente a su ciclo "Para" pasar a la siguiente cifra en el nibble. Cuando el programa ha comprobado todos los bits de cuatro, se habrá calculado el siguiente dígito de la decimal. Tipo "strNum = decNum & strNum" para añadir este valor a la izquierda de la cadena. Tipo "decNum = 0" para reiniciar esta variable antes de la siguiente iteración de su tiempo del lazo.

8 Bucle de tipo "fin mientras" para cerrar su tiempo. Tipo "decNum = strNum" para obligar a Visual Basic para convertir la cadena que sostiene su valor decimal en un número entero y almacenarlo en la variable "decNum". Entonces puede manipular esta variable según sea necesario. Enviar el valor decimal a donde su programa llama la función de tipo "Vuelta decNum". Tipo "End Function" para cerrar la función.

Consejos y advertencias

  • Números BCD tienen ocho bits. "0000 0000" representa cero y "1001 0000" representa nueve. Desde los izquierda cuatro bits son cero, no necesita considerar en su programa. Esto ahorra espacio en memoria y le permite aceptar un mayor número de entrada. Si desea valores de ocho bits de entrada, cambiar tu bucle "Para" a "para i = 0 a 7" para manejar la carga adicional.