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