Monkey Programming/Unsigned Shift Right

'Shift Operations - Left, Right or Unsigned Right Shift' tutorial was cited in a Monkey Programming Forum post in 2012.

The Shift Operations - Left, Right or Unsigned Right Shift tutorial was cited in a Monkey Programming Forum post in 2012.

```Subject:  Monkey Programming/Unsigned Shift Right
Date: Jun 6, 2012
Author: therevills
Source: http://www.monkeycoder.co.nz/Community/posts.php?topic=3005

Ahh... looks like we have a small bug in MonkeyMax then :P

BlitzMax:
Local a:Int = -858993460 ' binary: 11001100110011001100110011001100
Local o1:Int = a Shl 6 ' left shift
Local o2:Int = a Shr 6 ' unsigned right shift
Local o3:Int = a Sar 6 ' signed right shift
Print ("a   = "+a)
Print ("ol1 = "+o1)
Print ("ol2 = "+o2)
Print ("ol3 = "+o3)

Outputs:
a   = -858993460
ol1 = 858993408
ol2 = 53687091
ol3 = -13421773

Monkey:
Function Main()
Local a:Int = -858993460 ' binary: 11001100110011001100110011001100
Local o1:Int = a Shl 6 ' left shift
Local o2:Int = a Shr 6 ' signed right shift
'Local o3:Int = a Sar 6 ' signed right shift
Print ("a   = "+a)
Print ("ol1 = "+o1)
Print ("ol2 = "+o2)
'Print ("ol3 = "+o3)
End

Outputs
a   = -858993460
ol1 = 858993408
ol2 = -13421773

I converted this Java example:
http://www.herongyang.com/Java/Byte-Data-Type-Shift-Operations.html

/**
* ShiftOperations.java
* Copyright (c) 2006 by Dr. Herong Yang, http://www.herongyang.com/
*/
public class ShiftOperations {
public static void main(String[] arg) {
int a = -858993460; // binary: 11001100110011001100110011001100

int o1 = a << 6;  // left shift
int o2 = a >> 6;  // right shift
int o3 = a >>> 6; // unsigned right shift
...
```