Contains reusable methods for operations pertaining to int values : int « Data Type « Flash / Flex / ActionScript






Contains reusable methods for operations pertaining to int values

 

package com.adobe.utils {
  
  import flash.utils.Endian;
  
  /**
   * Contains reusable methods for operations pertaining 
   * to int values.
   */
  public class IntUtil {
    
    /**
     * Rotates x left n bits
     *
     * @langversion ActionScript 3.0
     * @playerversion Flash 9.0
     * @tiptext
     */
    public static function rol ( x:int, n:int ):int {
      return ( x << n ) | ( x >>> ( 32 - n ) );
    }
    
    /**
     * Rotates x right n bits
     *
     * @langversion ActionScript 3.0
     * @playerversion Flash 9.0
     * @tiptext
     */
    public static function ror ( x:int, n:int ):uint {
      var nn:int = 32 - n;
      return ( x << nn ) | ( x >>> ( 32 - nn ) );
    }
    
    /** String for quick lookup of a hex character based on index */
    private static var hexChars:String = "0123456789abcdef";
    
    /**
     * Outputs the hex value of a int, allowing the developer to specify
     * the endinaness in the process.  Hex output is lowercase.
     *
     * @param n The int value to output as hex
     * @param bigEndian Flag to output the int as big or little endian
     * @return A string of length 8 corresponding to the 
     *    hex representation of n ( minus the leading "0x" )
     * @langversion ActionScript 3.0
     * @playerversion Flash 9.0
     * @tiptext
     */
    public static function toHex( n:int, bigEndian:Boolean = false ):String {
      var s:String = "";
      
      if ( bigEndian ) {
        for ( var i:int = 0; i < 4; i++ ) {
          s += hexChars.charAt( ( n >> ( ( 3 - i ) * 8 + 4 ) ) & 0xF ) 
            + hexChars.charAt( ( n >> ( ( 3 - i ) * 8 ) ) & 0xF );
        }
      } else {
        for ( var x:int = 0; x < 4; x++ ) {
          s += hexChars.charAt( ( n >> ( x * 8 + 4 ) ) & 0xF )
            + hexChars.charAt( ( n >> ( x * 8 ) ) & 0xF );
        }
      }
      
      return s;
    }
  }
    
}
        








Related examples in the same category

1.Creates a variable named width, of type int, and assigns it the value 25
2.Display a sequence of square roots
3.An example of a for statement that outputs the numbers from 0 to 999
4.The int type is perfect for counters, and is frequently found in for loops:
5.You can also use exponential notation to declare numbers.
6.Include the number variable in a string expression. This will implicitly convert the number to a String.
7.toExponential()
8.toFixed()
9.toPrecision()
10.parseInt(): interpret the text as a number in an arbitrary base.
11.Use int() to convert string to integer
12.Combining operators with assignment will use the left-hand side of the expression as the first operand