Điểm:0

Nhận bit i khi modulo n

lá cờ jo

Có cách nào để khôi phục chuỗi bit của một số (ví dụ 29 = 0b11101) bằng cách luôn chia nó cho 2 khi ở chế độ 143 chẳng hạn?

Điều tôi muốn nói là khôi phục số từng chút một bằng cách nhân nó với nghịch đảo của 2 mod 143 để mô phỏng phép chia /2. Ví dụ:
$\begin{array}{} &29\bmod143=&29&\equiv 1 \pmod 2\ 29\cdot(2^{-1}\bmod143)^1\bmod143=&29\cdot72^1\bmod143=&86&\equiv0\pmod2\29\cdot(2^{-1}\bmod143)^2\bmod143 =&29\cdot72^2\bmod143=&43&\equiv1\pmod2\ 29\cdot(2^{-1}\bmod143)^3\bmod143=&29\cdot72^3\bmod143=&93&\equiv1\pmod2\ 29\cdot(2^{-1}\bmod143)^4\bmod143=&29\cdot72^4\bmod143=&118&\equiv0\pmod2\ \end{mảng}$

Chúng ta có thể thấy rằng chuỗi tôi thu được là đúng cho đến bit thứ năm, sẽ là $1$. Tôi đang hiểu lầm gì ở đây?

fgrieu avatar
lá cờ ng
Ký hiệu $aâ¡b\pmod m$ có nghĩa là $b-a$ là bội số của $m$. Ở đây$\bmod$xuất hiện ngay sau $($, và chỉ có thể có một ở bên phải câu lệnh như $aâ¡bâ¡câ¡d\pmod m$, nghĩa là $aâ¡b\pmod m $ và $bâ¡c\pmod m$ và $câ¡d\pmod m$. Điều đó khác với cách sử dụng trong $a\bmod m$ trong đó$\bmod$là một toán tử xuất hiện ngay sau một số nguyên và đó là kết quả số nguyên được xác định duy nhất $x$ với $0\le x
Điểm:1
lá cờ ng

Câu hỏi dường như nhằm mục đích tìm một cái gì đó như: biểu diễn bit của một số nguyên $a$ khi làm việc modulo $m$. Điều này không được xác định rõ. Chúng ta sẽ giả sử rằng thay vào đó, nó muốn biểu diễn bit của số nguyên $a\bmod m$.

Theo định nghĩa, số nguyên $a\bmod m$ là số nguyên $r$ với $0\le r<m$$a-r$ bội số của $m$. Khi nào $a\ge 0$, cái này $r$ là phần còn lại của phép chia cổ tức Euclide $a$ theo số chia $m$, mang lại thương số nguyên $q$ và phần còn lại $r$, như vậy mà $0\le r<m$$a=m\cdot q+r$.

Để có được biểu diễn của một số nguyên không âm trong cơ số $b\ge2$ (với $b=2$ đối với biểu diễn bit), một phương pháp tiêu chuẩn là phép chia Euclide liên tiếp cho số chia $b$, với số bị chia đầu tiên là số nguyên không âm đã nói, sau đó (các) số bị chia tiếp theo là thương thu được từ phép chia Euclide trước đó, lặp lại cho đến khi thương là $0$. Các phần còn lại liên tiếp là các chữ số mong muốn của biểu diễn, với Chữ số có nghĩa nhỏ nhất được lấy trước và thường được viết ở bên phải.

Vì vậy, khi chúng ta muốn biểu diễn bit của $29\bmod 143$, đầu tiên chúng tôi lưu ý rằng $0\le29<143$, do đó $29\bmod 143=29$. Chúng tôi không còn cần $143$. Chúng tôi chỉ muốn đại diện của $29$ ở cơ sở $2$. Chúng tôi viết

    29 = 2 * 14 + 1
    14 = 2 *  7 + 0
     7 = 2 *  3 + 1
     3 = 2 *  1 + 1
     1 = 2 *  0 + 1

Phần còn lại thu được là các số nguyên cuối cùng trên mỗi dòng và đưa ra biểu thức nhị phân của $29$, đó là 11101, với cái đầu tiên thu được ở bên phải.


Bit tại chỉ mục $i$ từ bên phải (bắt đầu từ chỉ số $i=0$, đó là ${i+1}^\text{th}$ chút) của $a\bmod m$ có thể thu được như $$\left\lfloor\frac{a\bmod m}{2^i}\right\rfloor\bmod2\tag{1}\label{fgrieueq1}$$

Phương pháp trong câu hỏi thay vì sử dụng $$\left(a\cdot(2^{-1}\bmod m)^i\bmod m\right)\bmod 2$$ được định nghĩa cho số lẻ $m$ chỉ, và khi như vậy có thể được viết lại (với phần mở rộng của$\bmod$ký hiệu để bao gồm các phân số) $$\left(\frac a{2^i}\bmod m\right)\bmod2$$ tương tự như \eqref{fgrieueq1}, nhưng không hoạt động đáng tin cậy ngoài $i=0$. Ví dụ nó thất bại bất cứ khi nào $i=1$, $m=2^k+1$ với $k>1$, và lẻ $a$ với $0<a<m$. Vì phương pháp đó không cần biện minh nên nó không cần bác bỏ ngoài một phản ví dụ.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.