public static int sizeOfUnsignedNullable(Number n) 
    {
        if (n == null) return 1; 
        int value = n.intValue();
        
        return (value < (1 <<  6) ? 1 :  
               (value < (1 << 13) ? 2 :  
               (value < (1 << 20) ? 3 :  
               (value < (1 << 27) ? 4 : 5))));
    }