두 개, 8 진수 (: 스택 비교법 두 가지 방법)으로 진수.

PracticeDemo 클래스 {공개 
	// 이진 소수점 우회전 
	공용 정적 무효 이진 INT (X) { 
		   INT (X) = C를 // 두 번째 방법은, (X)까지의 미리 저장된 제 값 
		   하는 Method @ 
			스택 스택 스택 새로운 새 = (); 
			그동안을 (X> 0) 
			{ 
				stack.push (X % 2) // 나머지 푸시 
				X = X / 2, // 2로 나눈마다 
			} 
			에서 System.out.println ( "출력 이진수를 사용하여 스택 데이터 구조" ) 
			그동안) (! stack.isEmpty () 
				System.out.print의 (stack.pop는 ()); // 스택의 특성을 사용하여 스택 (FILO) 
			// 방법 2 : 
			INT TEMP = 0; 
			INT P = 0; 
			INT는 [A는 새로운 INT [= 100]; // 값 저장 이진 가중 어레이 
			(; I는 <100 I ++ INT I = 0)에 대한 
			 { 
			   A [I]가 = (int)를 Math.pow (2, I) / / 배열 할당. Math.pow (a, b) 전력, B 
			 } 
			에서 System.out.println ();
			( "출력 이진 비교하여")에서 System.out.println; 
			// 중간 페이지를 찾기 위해 상기 각 중량 위치 (하강)에 의해 이진 출력값 (단지 배열 첨자를 찾기) 
			에 대한 (INT a.length J = - 2; J> = 0; J)   
			 { 
			  IF ((C> A [J]에서 == || C [J]) && (C <A [J. + 1]) ) 
			    { 
				  P = J; 
				  BREAK; 
			    } 
			 } 
			
			대 (INT = P J, J> = 0; J) 
			 { 
				IF (C> A = [J] && C <A [+ J. 1]) 
				 { 
				   . TEMP 1 = ;	 
				   C = C - A [J]; //는이 비트의 중량을 빼서, 다음 사용시의 값 (1)의 출력과 비교 한 것을 나타낸다. 
				 } 
				다른 
					TEMP = 0; 
				System.out.print의 (TEMP + "");	 
			 } 
		
	} 
	// 진수 소수점 설정 
	공용 static 공극 진법 INT (X) { 
		INT X = C;
		= 뉴 새로운 스택 스택 스택 (); 
		그동안 (X> 0) 
		 { 
			stack.push. (X 8 %) 
			X = X / 8]. 
		 } 
		에서 System.out.println ( "출력 8 진수를 사용하여 스택 데이터 구조"), 
		그동안 (! stack.isEmpty ()) 
			System.out.print의 (stack.pop ()); 
		// 방법 2 : 
		INT P = 0; 
		INT []는 새로운 신규 INT [100] =; 
		I (I = INT 0 <100; I ++) 
		{ 
		  A [I] = (int)를 Math.pow (8, I). 
		} 
		에서 System.out.println () 
	     에서 System.out.println ( "출력 비교 8 진수를 사용하여") 
		에 대한 (INT a.length J = - 2; J> = 0; J) 
		{ 
		  IF ((C> A [J]에서 == || C [J]) && (C <A [J. + 1]) ) 
		   { 
			 P = J; 
			 BREAK; 
		   } 
		}
		(J,; J> = 0 P = INT J)에 대한 
		{ 
			.. 대 (K INT K = 7 - 1 내지 @ 7 진법의 중량 당 필요하다 상술 ; K> = 0) 이 비트 수는 상기 곱 
			{ 
			  IF ((C> A [J] == A * K || C [J] * K) && (C <A [J] * (. 1 + K))) 
			   { 
			    시스템. Out.print (K + ""); 
			     C = C - A [J] * K; 
			     BREAK; 
			   } 
			} 	 
       } 
  } 
	// 변환 진수 16 진수 
	공공 정적 무효 헥스 INT (X) { 
		INT X = C; 
		// 방법 A : 
		INT의 TEMP = 0; 
		스택 스택 스택 새로운 새 = (); 
		그동안 (X> 0) 
			{ 
				TEMP X = 16 % 
				전환 (TEMP) 
				{ 
				   케이스 10 : stack.push ( 'A') BREAK, 
				   케이스 (11). : stack.push ( 'B');단절;
				   도 12는 케이스이다 stack.push ( 'C') BREAK, 
				   케이스 (13)는 : stack.push ( 'D') BREAK; 
				   케이스 14 : stack.push ( 'E'); BREAK; 
				   케이스 15 : stack.push ( ' F. '); BREAK; 
				   기본 : stack.push (X 16 %) 
				} 
				X = X / (16) 
			} 
		에서 System.out.println ( "스택 데이터 출력 진수를 사용하여 구조"), 
		그동안 (스택! .isEmpty ()) 
			System.out.print의 (stack.pop ()); 
		// 방법 2 : 
			INT P = 0; 
			INT의 D = 0; 
			INT []는 새로운 신규 INT [100] =] 
			대 (INT I = 0 ; I <100; I ++) 
			{ 
			  A [I] = (int)를 Math.pow (16, I) 
			} 
			에서 System.out.println () 
		    의 비교가 16 진수에서 System.out.println ( "사용하여 출력 "); 
		     
			(INT J = 대한 A.길이 - 2] J> = 0; j--)
			{ 
			  경우 ((c>은 [J] || == C A [J]) && (c <A [J + 1])) 
			   { 
				 p = J; 
				 단절; 
			   } 
			} 

			대 (INT J = P, J> = 0; j--) 
			{ 
				대 (INT의 K = 15, K> = 0; k--) 
				{ 
				  경우 ((c>은 [J] * K C || == A [J] * K) && (c <A [J] * (K + 1))) 
				   { 
					 경우 (K> 9) 
					  { 
					  스위치 (K) 
						{ 
						   케이스 10 : System.out.print ( 'A' );단절; 
						   케이스 11 : System.out.print ( 'B'), 체류; 
						   케이스 12 : System.out.print ( 'C'); 체류; 
						   케이스 13 : System.out.print ( 'D'), 체류; 
						   케이스 (14) : System.out.print ( 'E'); 휴식;
						   케이스 15 : System.out.print ( 'F'); 단절; 
						} 
					  } 
					    System.out.print (K + ""); 
					    C = C - A [J] * K; 
				     단절; 
				   } 
				} 	 
	       } 
	} 
	 공공 정적 무효 메인 (문자열 []에 args) { 
		= 새로운 스캐너 스캐너 (System.in); 
		에서 System.out.println ( "请输入数字:"); 
		 X = INT in.nextInt (); 
		 이진 (X); 
		 에서 System.out.println (); 
		 진법 (X); 
		 에서 System.out.println (); 
		 헥스 (X); 
  } 
}

  

추천

출처www.cnblogs.com/YangK123/p/12296215.html