¿Cómo mover números a la izquierda usando el lenguaje VB? ¿Muévete bien?
Atenuar MyB(1) como byte
Si N & gt entonces = 0
Myb(0)= N \ 256 //bit alto
Myb(1)= N mod 256 //bit bajo
Otros
tmp = N *(1)
Myb(0)= tmp \256
Myb(1)= tmp mod 256
Myb(0)= Not(Myb(0)and & amp; H80) //Invierte el bit de signo.
Myb(1)= Not(Myb(1))+1
//Las dos líneas anteriores son la representación binaria del número positivo N, seguida del bit más alto 1 (este es el código original -N).
//Todos los bits se invierten y terminan en +1, que es la forma complementaria de -N. Los números negativos se almacenan en la computadora como su complemento.
Terminará si...
Después de la conversión, hay una operación de desplazamiento, lo que significa que el código de operación es el siguiente (suponiendo que desee mover N bits).
Para i=1 a N
SaveHi = Myb(0)'Guarde el bit alto para determinar si se ingresa 1 en el byte de orden inferior cuando se desplaza hacia la derecha.
El siguiente es el desplazamiento a la derecha ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '
Myb(0) = Myb(0) \ 2 'Moverse hacia la derecha no se desbordará.
Myb(1)= Myb(1) \ 2
Si ((SaveHi and & amph 1)= & H1) Entonces
Myb( 1) = Myb(1) o & ampH80
Terminará si...
Entonces
Lo mismo si te mueves hacia la izquierda:
Para i=1 a N
SaveLo = Myb(1)'Guarde el bit bajo para determinar si se ingresa 1 en el byte de orden superior cuando se desplaza hacia la izquierda.
El siguiente es el desplazamiento a la derecha ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '
Myb(0) = (Myb(0) * 2)HFF: Tome el excedente, de lo contrario se desbordará.
Myb(1) = (Myb(1) * 2)HFF
Si ((SaveLo y & amph80) = & H1) entonces
Myb( 0) = Myb(0) o & ampH01 'Agrega uno a la posición alta
Si... terminará
Entonces