E đang làm bài tập java và gặp chút " khó hiểu " trong đoạn code, các anh chị nào có thể phân tích cho e 1 chút được không ạ!!!
public static void doiCoSo(int n,int base){
if(n>=base) doiCoSo(n / base, base);
if(n % base>9) System.out.printf("%c",n%base+55);
else
System.out.print((n % base));
}
public static int nhap(){
Scanner input= new Scanner(System.in);
boolean check= false;
int n=0;
while(!check){
System.out.print(" ");
try{
n= input.nextInt();
check= true;
}catch(Exception e){
System.out.println("Ban phai nhap so! hay nhap lai...");
input.nextLine();
}
}
return (n);
}
public static void main(String[] args) {
System.out.println("Nhap n");
int n= nhap();
System.out.println("Nhap vao co so can chuyen sang b");
int b= nhap();
System.out.println("So " +n+ " chuyen sang co so " +b+ " thanh: ");
doiCoSo(n,b);
Như đoạn code ở trên, với hàm “doiCoSo” ,e chưa hiểu lắm về cách chuyển đổi cơ số bất kì là như thế nào ạ! , theo e được biết là nếu muốn đổi từ hệ cơ số 10 sang hệ cơ số 2 thì ta lấy số đó(hệ 10) chia cho 2, kết quả sẽ là các số dư lấy từ dưới lên…cái "khó hiểu " ở đây của e là tại sao hok có sự sắp xếp mảng ngược lại mà vẫn hiển thị ra được kết quả ???

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?