Chuyển đổi số trực tiếp giữa các hệ cơ số như thế nào?

Mọi người cho mình hỏi cách đổi cơ số cái ạ ,ví dụ (2120141) cơ số 5 sang cơ số 8 và (12134) cơ số 8 qua cơ số 5. Bằng cách đổi trực tiếp không qua cơ số 10, và đổi thông qua cơ số 10 . Thì làm sao ạ , e có xem cách chia lấy dư mà vẫn không hiểu lắm mong mọi người chỉ cách giải ạ . Cảm ơn !!!

Nếu bạn muốn “hardcore” không qua thập phân thì phải học bảng b-1 chương :smiley: thay vì bảng cửu chương. Căng.

“Softcore” hơn thì vẫn có thể chỉ đổi khi tính từng chữ số.

Đổi qua thập phân thì nó tương đối dễ hơn. Đổi về thập phân cũng như lượng giá (thay số) đa thức thôi => Horner. Đảo ngược sơ đồ Horner thì sẽ ra trở lại số ban đầu. Túm lại, cả hai trường hợp nên dùng Horner.

2 Likes

e vẫn chưa hiểu lắm bác nói rõ hơn được không :frowning:

Không dùng hệ thập phân thì phải tính toán bằng cơ số bạn muốn đổi ấy.

Còn tính ntn thì đây:
Sơ đồ Horner có thể tóm gọn: “rơi đầu, nhân ngang (x0), cộng chéo (hệ số)”, dùng để lượng giá đa thức. Ta bắt đầu bằng việc viết đủ các hệ số từ bậc cao xuống thấp (kể cả zero). Vậy tại sao nó lại tính đúng?

Ta sẽ xây dựng đa thức P(x) = 2x^4 - 7x^3 + 5x^2 + 6x - 1 từ 5 hệ số 2, -7, 5, 6, -1. Thật vậy, ta có dãy truy hồi sau:
g0(x) = c0 = 2
g1(x) = g0(x) * x + c1 = (2)x - 7
g2(x) = g1(x) * x + c2 = (2x - 7)x + 5 = 2x^2 - 7x + 5
tương tự
g3(x) = 2x^3 - 7x^2 + 5x + 6
g4(x) = 2x^4 - 7x^3 + 5x^2 + 6x - 1 = P(x).

Đảo chiều. Ta có cth truy hồi g[n](x0) = g[n-1](x0) * x0 + c[n], với hệ số nguyên thì c[n] = g[n](b) (mod b). Đây có thể xem là cơ sở của phép đổi cơ số của số nguyên.

2 Likes

bắt đầu với n = 0 (cơ số B2), b = 1 (cơ số B2)
với mỗi số hạng d từ thấp tới cao trong số cần chuyển, lấy n += b * d, rồi cho b *= B1

(2120141)5 => cơ số 8

i d b = 5i8 bd n n + bd
0 1 18 18 08 18
1 4 58 248 18 258
2 1 318 318 258 568
3 0 1758 08 568 568
4 2 11618 23428 568 24208
5 1 60658 60658 24208 105058
6 2 364118 750228 105058 1055278

1055278 => cơ số 5

i d b = 8i5 bd n n + bd
0 7 15 125 05 125
1 2 135 315 125 435
2 5 2245 22405 435 23335
3 5 40225 402205 23335 431035
4 0 1123415 05 431035 431035
5 1 20220335 20220335 431035 21201415

deadbeef16

i d b = 16i10 bd n n + bd
0 15 110 1510 010 1510
1 14 1610 22410 1510 23910
2 14 25610 358410 23910 382310
3 11 409610 4505610 382310 4887910
4 13 6553610 85196810 4887910 90084710
5 10 104857610 1048576010 90084710 1138660710
6 14 1677721610 23488102410 1138660710 24626763110
7 13 26843545610 348966092810 24626763110 373592855910

viết 1 cái class có thêm cơ số rồi cộng nhân như viết cộng nhân số lớn ấy

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