2013-07-08 22 views
19

Tôi hiểu các nhà điều hành Modulus về biểu thức sau đây:Hiểu Các Modulus điều hành%

7 % 5 

này sẽ quay trở lại 2 do thực tế rằng 5 đi vào 7 lần và sau đó cung cấp cho 2 đó là trái hơn , tuy nhiên, sự nhầm lẫn của tôi xuất hiện khi bạn đảo ngược tuyên bố này để đọc:

5 % 7 

Điều này mang lại cho tôi giá trị là 5 gây nhầm lẫn cho tôi một chút. Mặc dù toàn bộ 7 không đi vào 5, một phần của nó làm như vậy tại sao không có phần còn lại hoặc phần còn lại của số dương hoặc âm 2?

Nếu tính giá trị 5 dựa trên thực tế là 7 không đi vào 5 thì tại sao phần còn lại không phải là 7 thay vì 5?

Tôi cảm thấy có điều gì đó tôi thiếu ở đây trong sự hiểu biết của tôi về toán tử mô đun.

+2

Modulus là 'giá trị tuyệt đối'. Bạn đang đề cập đến 'modulo' mà phải làm với phần dư. Thật đáng tiếc là những từ này rất giống nhau khi nó đi nhiều người. – Discordanian

+0

Tôi gặp sự cố với số thập phân và số âm và tìm thấy câu trả lời của tôi ở đây: https://stackoverflow.com/questions/48662225/understanding-something-more-about-the-modulo-modulus-and-modulo-modulus-w –

Trả lời

35

(giải thích này chỉ dành cho các số dương vì nó phụ thuộc vào ngôn ngữ khác)

Modulus cho phần còn lại của sự phân chia một số bằng cách khác. Nếu bạn yêu cầu một đứa trẻ 8 tuổi mà 5 chia cho 7 số (8 vì chúng hầu như không biết số thập phân), người đó sẽ trả lời: 0 nhưng nó vẫn là 5.

Bạn cũng có thể sử dụng phương trình này:

a % b = a - floor(a/b) * b 

floor(a/b) đại diện cho số lần bạn có thể chia a bởi b (xem ví dụ minh họa dưới đây). Và floor(a/b) * b số tiền đã được chia sẻ thành công hoàn toàn. Điều đó có nghĩa là tổng trừ đi những gì được chia sẻ bằng phần còn lại của bộ phận. Bây giờ bạn có thể sử dụng phương trình này:

5 % 7 = 5 - floor(5/7) * 7 = 5 

Euclidian Division

Điều đó nói rằng, trực giác của bạn là nó có thể là -2 và không 5. Trên thực tế, trong số học modula, -2 = 5 (mod 7) vì nó tồn tại k trong Z như vậy 7k - 2 = 5.

Bạn có thể chưa học được số học mô-đun, nhưng bạn có thể đã sử dụng các góc và biết rằng -90 ° là bằng 270 ° vì nó là modulo 360. Nó tương tự, nó kết thúc tốt đẹp! Vì vậy, có một vòng tròn, và nói rằng đó là chu vi là 7. Sau đó, bạn đọc ở đâu 5. Và nếu bạn thử với 10, nó phải là 3 vì 10 % 7 là 3.

0

Toán tử mô đun cho bạn kết quả trong 'hệ thống dư lượng giảm'. Ví dụ: mod 5 có 5 số nguyên được tính: 0,1,2,3,4. Thực tế, 19 = 12 = 5 = -2 = -9 (mod 7). Sự khác biệt chính là câu trả lời được đưa ra bởi các ngôn ngữ lập trình bằng 'hệ thống dư lượng giảm'.

0

Một cách mới để tìm hiểu phần còn lại được đưa ra dưới đây

Bản Tuyên Bố: Phần còn lại luôn là hằng số

ex : 26 divided by 7 gives R : 5 

này có thể được phát hiện ra một cách dễ dàng bằng cách tìm các con số đó hoàn toàn chia 26 là gần gũi hơn với các ước và lấy sự khác biệt của cả hai

13 is the next number after 7 that completely divides 26 because after 7 comes 8, 9 , 

10, 11, 12 where none of them divides 26 completely and give remainder 0. 
So 13 is the closest number to 7 which divides to give Remainder 0. 
now take the difference (13 ~ 7) = 5 which is the Remainder . 

note : for this to work divisor should be reduced to its simplest form ex: if 14 
is the divisor ..7 has to be chosen to find the closest number dividing the dividend. 
3

mô đun là hệ thống dư.

Vì vậy, 7% 5 = 2.

5% 7 = 5

3% 7 = 3

2% 7 = 2

1% 7 = 1

Khi được sử dụng bên trong một hàm để xác định chỉ số mảng. Nó có lập trình an toàn không? Đó là một câu hỏi khác. Tôi đoán.

1

Bước 1: 5/7 = 0,71

Bước 2: Lấy phần bên trái dấu thập phân, vì vậy chúng ta hãy 0 từ 0,71 và nhân với 7 0 * 7 = 0;

BướC#: 5-0 = 5; Do đó, 5/7 = 5

2

Khi những người khác đã chỉ ra mô đun dựa trên hệ thống còn lại.

Tôi nghĩ rằng một cách dễ dàng hơn để suy nghĩ về mô đun là những gì còn lại sau khi một cổ tức (số được chia) đã được chia hoàn toàn bởi một ước số. Vì vậy, nếu chúng ta nghĩ về 5% 7, khi bạn chia 5 cho 7, 7 có thể đi vào 5 chỉ 0 lần và khi bạn trừ 0 (7 * 0) từ 5 (giống như chúng ta học lại ở trường tiểu học), thì phần còn lại sẽ là 5 (mod). Xem hình minh họa dưới đây.

0 
    ______ 
7) 5  
__-0____ 
    5 

Với cùng một logic, -5 mod 7 sẽ là -5 (chỉ 0 7 có thể vào -5 và -5-0 * 7 = -5). Với cùng một mã thông báo -5 mod -7 cũng sẽ là -5. Một vài trường hợp thú vị hơn:

5 mod (-3) = 2 tức là 5 - (-3 * -1)

(-5) mod (-3) = -2 tức là -5 - (-3 * 1) = -5 + 3

0

cho phép đặt nó theo cách này:
thực Modulus hành hiện các bộ phận tương tự, nhưng nó không quan tâm đến câu trả lời, nó quan tâm đến lời nhắc nhở ví dụ nếu bạn chia 7 đến 5,
vì vậy, cho phép tôi đưa bạn qua một ví dụ đơn giản:
nghĩ 5 là một khối, sau đó ví dụ chúng ta sẽ có 3 khối trong 15 (VỚI Không có gì còn lại), nhưng khi loginc đó đến số kinda này {1,3,5,7,9,11, ...}, đây là nơi mà Modulus xuất hiện , do đó, có logic mà tôi đã nói trước và áp dụng nó cho 7, vì vậy câu trả lời sẽ được rằng chúng tôi có 1 khối 5 trong 7 => với 2 nhắc nhở trong tay của chúng tôi! đó là mô đun !!!
nhưng bạn đã hỏi khoảng 5% 7, phải không?
do đó, hãy lấy logic mà tôi đã nói, chúng ta có bao nhiêu khối 7 trong 5 ????
nên mô đun trả về 0 ...
đó là nó ...