Rotate functions rotate bits within an Integer Register. Â There are typically 2 options:
- Rotate Left or Right?
- How many bits would you like rotated?
Example: 8 bit Int with a value 0xC5
11000101 = Value in binary
10001011 = Rotated Left 1 bit
00010111 = Rotated Left 2 bits
Rotate Right:
Example: 8 bit Int with a value 0xC5
11000101 = Value in binary
11100010 = Rotated Right 1 bit
01110001Â = Rotated Right 2 bits
Shift works just like Rotate, except for what happens to the end bits. Â On one side the bits are shifted out and the other bits are shifted in. Â There are typically 3 options:
- Shift Left or Right?
- How many bits would you like shifted?
- What value would you like shifted in? Â This can be a fixed value (0 or 1) or may come from a register.
11000101 = Value in binary
10001011 = Shifted Left 1 bit  (Shifting in value 1)
00010111 = Shifted Left 2 bits  (Shifting in value 1)
Example: 8 bit Int with a value 0xC5
11000101 = Value in binary
01100010 = Shifted Right 1 bit  (Shifting in value 0)
00110001 = Shifted Right 2 bits  (Shifting in value 0)
Hi,
Nice website. It would be nice to know how we could apply this function to an application.
Thanks
Yeah I should add a good example here. I’ll work on it.
Here’s an example using LED outputs to create a “knight rider” type pattern. Perhaps not as practical as entertaining.
http://www.opto22.com/community/showthread.php?t=412&p=1631&viewfull=1#post1631