Mega Code Archive

 
Categories / Flash ActionScript / Data Type
 

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;     }   }      }