01/10/2018, 11:33

Xin hỏi bài chuyển đổi cơ số n

Làm sao chuyển 1 số tự nhiên sang một cơ số n ,

Em mới học chưa rành nhiều thứ , anh chị giúp đỡ ! tham khảo google có đoạn code sau

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

}
em không hiểu tại sao n%base >9 ?? là sao
tại sao n %base phải + 55
xin cảm ơn mọi người giúp

HK boy viết 13:39 ngày 01/10/2018

Khi chuyển từ hệ 10 sang hệ base thì

n%base >9

tương đương với n % base có thể bằng 10, 11, 12,...
Mà theo quy ước 10 -> A, 11 -> B,... -> ta sẽ in ra kí tự có mã ASCII là n % base + 55 (ỉn ra các chữ in hoa).

Tí Lãng Tử viết 13:34 ngày 01/10/2018

ơng đương với n % base có thể bằng 10, 11

xin cảm ơn anh những n%base em vẫn không hiểu lắm

HK boy viết 13:35 ngày 01/10/2018

Bạn biết cách chuyển đổi hệ cơ số 10 sang hệ cơ số bất kì bằng tay chưa? Nếu chưa thì bạn tự tìm hiểu lại nhé.

rogp10 viết 13:48 ngày 01/10/2018

Bạn làm thử với hệ thập phân xem.

Khám phá: khi chia cho 10 (1 chục 15 nha) thì cắt bỏ 1 chữ số bên phải, nhân 10 thì thêm 1 chữ số 0 bên phải. Giờ bạn trừ ra có phải ra ngay chóc chữ số đơn vị không giờ lấy được hàng đơn vị rồi.

Muốn tìm hàng chục thì ta sẽ làm như trên, nhưng giờ PHẢI biến đổi mới được -> chia 10 cứ tiếp tục đến khi còn số 0.

Vấn đề là cách viết số AI Cập là từ trái qua phải ứng với từ cao xuống thấp, nên phải đảo lại bằng cách nào đó.

Bài liên quan
0