public static int lenVarUInt ( long longVal ) { assert longVal >= 0 ; if ( longVal < ( 1L << ( 7 * 1 ) ) ) return 1 ; // 7 bits if ( longVal < ( 1L << ( 7 * 2 ) ) ) return 2 ; // 14 bits if ( longVal < ( 1L << ( 7 * 3 ) ) ) return 3 ; // 21 bits if ( longVal < ( 1L << ( 7 * 4 ) ) ) return 4 ; // 28 bits if ( longVal < ( 1L << ( 7 * 5 ) ) ) return 5 ; // 35 bits if ( longVal < ( 1L << ( 7 * 6 ) ) ) return 6 ; // 42 bits if ( longVal < ( 1L << ( 7 * 7 ) ) ) return 7 ; // 49 bits if ( longVal < ( 1L << ( 7 * 8 ) ) ) return 8 ; // 56 bits if ( longVal < ( 1L << ( 7 * 9 ) ) ) return 9 ; // 63 bits return 10 ; }
Variable - length high - bit - terminating integer 7 data bits per byte .