2011-09-01 38 views
6

Tôi đang cố gắng hiểu CRC và tôi bị nhầm lẫn như cách tính toán 'số chia'.Tính toán chia số CRC

Trong example on wikipedia số chia là 11 (năm 1011) cho đầu vào của 11010011101100

11010011101100 000 <--- input left shifted by 3 bits 
1011    <--- divisor (4 bits) = x³+x+1 
------------------ 
01100011101100 000 <--- result 

Làm thế nào là ước tính? Trong ví dụ này (x³ + x + 1) x là 2? Hai người đến từ đâu?

+2

Số chia trong nhị phân chỉ là hệ số của đa thức của nó. 'x^3 + x + 1' bằng' 1 * x^3 + 0 * x^2 + 1 * x + 1 * 1'; đọc hết các cofficients để lấy 1-0-1-1 – Nemo

Trả lời

1

Từ "Toán học của CRC" của cùng wikipedia nó bắt đầu "phân tích toán học của quá trình phân chia-như thế này cho thấy làm thế nào để chọn một ước rằng đảm bảo sai sót tốt đặc tính phát hiện. " Đây là chìa khóa cho nó. Một số ước là tốt hơn so với những người khác để bạn chỉ cần tìm một tiêu chuẩn và sử dụng thường.

Phần dưới cùng của trang mô tả một số CRC khác nhau được sử dụng và đa thức xác định ước số của chúng.

0

Nó được viết trong @wikipedia câu tiếp theo:

Nếu các bit đầu vào cao hơn chút ước tận cùng bên trái là 0, không làm gì cả. Nếu bit đầu vào phía trên bit chia nhỏ ngoài cùng bên trái là 1, số chia là XOR vào đầu vào.

Có nghĩa là:

1101 xor 1011 => 0110 
-2

Số chia trong nhị phân chỉ là hệ số của đa thức của nó. x^3 + x + 1 = 1 * x^3 + 0 * x^2 + 1 * x + 1 * 1; đọc tắt cofficients để có được 1 0 1 1

             maninder singh walia walia 
Các vấn đề liên quan