Descripción del título: Dado un número decimal M y el número N que se va a convertir. Convierta el número decimal M al número de sistema N
Entrada: 7,2
Valor de retorno: "111"
El tema no es difícil, debes considerar los detalles, como 10 con A, 11 con B, y tener cuidado con lo positivo y negativo del número;
-
Es el proceso de buscar constantemente el resto, como de 17 a 3 dígitos,
-
17% 3 = 2, continúe haciendo el dividendo con el cociente de 17/3 = 5,
-
5% 3 = 2, continúe haciendo el dividendo con el cociente de 5/3 = 1,
-
1% 3 = 1, 1/3 = 0, el cociente termina en 0,
-
-Ponga todos los restos juntos, gire 122 para que sea el número ternario => 2 * 3 ^ 0 + 2 * 3 ^ 1 + 1 * 3 ^ 2 == 17
-
char [] index = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'); para mapear la base
-
Saque el número negativo y presione la operación de número positivo
import java.util.*;
public class Solution {
/**
* 进制转换
* @param M int整型 给定整数
* @param N int整型 转换到的进制
* @return string字符串
*/
public String solve (int M, int N) {
// write code here
StringBuffer str = new StringBuffer();
char[] index = {
'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
boolean flag = false;
if(M <0){
flag = true;
M = -M;
}
while(M != 0){
int remain = M % N;
str.insert(0,index[remain]);
M /= N;
}
if(flag) str.insert(0,'-');
return str.toString();
}
}