
	//---------------------------------------------------
	//㷨 ȷϷ
	//һ32λӦһ16λ16λʵȷÿλı01.
	//ǰΪӵĲ֣һȷϵֵһδȷϵֵ
	//ӸλλÿεȷһλʼʱȷϲΪ0ĳʼʽΪ
	
	// (n0 + r15)^2 <= a
	// s.t.       n0 = 0
	
	//ȷϷֽΪͬļϣõƵķ
	//ܺõǰ沽Ľʲôͷ𣬴ӶظͶ
	//üӼλ˳˳ջϵ档
	//㷨ΪJames Ulery  :Computing Integer Square Roots
	
	uint32 bitwise_verification( uint32 x )
	{
		uint32 temp = 0;
		uint8 v_bit = 15;
		uint16 n = 0;
		uint16 b = 0x8000;
		
		if( x <= 1 ) {
			return x;
		}
		do {
			uint32 t = (n << 1) + b;
			temp = t << v_bit;
			v_bit - 1;
			if( x >= temp ) {
				n + b;
				x - temp;
			}
			b >> 1;
		}
		while( b != 0 );
		return n;
	}

