Tôi xin lỗi nếu đây là một câu hỏi đơn giản nhưng tôi gặp khó khăn trong việc nắm bắt khái niệm phân chia mô-đun khi số đầu tiên nhỏ hơn số thứ hai. Ví dụ: khi 1% 4 cuốn sách của tôi cho biết phần còn lại là 1. Tôi không hiểu cách 1 là phần còn lại của 1% 4.
1/4 là 0,25. Tôi có nghĩ về phân chia modulus không chính xác?Phân chia mô đun khi số đầu tiên nhỏ hơn số thứ hai
Trả lời
Đầu tiên, trong Java,% là toán tử còn lại (không phải modulo), có ngữ nghĩa hơi khác nhau. Điều đó nói rằng, bạn cần phải suy nghĩ về phân chia chỉ số nguyên, như thể không có giá trị phân số. Hãy suy nghĩ về nó như là lưu trữ các mục mà không thể được chia: bạn có thể lưu trữ các mặt hàng bằng không kích thước 4 trong một lưu trữ của một công suất tổng thể. Dung lượng còn lại của bạn sau khi lưu trữ số lượng tối đa các mục là một. Tương tự, 13% 5 là 3, vì bạn có thể vừa với 2 mục hoàn chỉnh có kích thước 5 trong bộ nhớ có kích thước 13 và dung lượng còn lại là 13 - 2*5 = 3
.
Nếu bạn chia 1 cho 4, bạn nhận được 0 với phần còn lại là 1. Đó là tất cả các mô đun, phần còn lại sau khi chia.
gì sẽ xảy ra nếu nó là 40% 160 –
@yanivx cùng một điều, 0 phần còn lại 40, vì vậy câu trả lời là 40 –
Một cách khác để suy nghĩ về nó như là một đại diện cho số của bạn trong bội số của một số khác. I.e, a = n*b + r
, trong đó b>r>=0
. Trong trường hợp này, trường hợp của bạn là 1 = 0*4 + 1
. (chỉnh sửa: chỉ nói về số dương)
Tôi nghĩ bạn đang nhầm lẫn giữa các toán tử %(Remainder)
và /(Division)
.
Khi bạn nói %
, bạn cần phải tiếp tục chia cổ tức cho đến khi bạn nhận được phần còn lại 0 hoặc có thể kết thúc. Và những gì bạn nhận được cuối cùng được gọi là Remainder
.
Khi bạn nói /
, bạn chia cổ tức cho đến khi ước trở thành 1. Và sản phẩm cuối cùng bạn nhận được gọi Quotient
Một phương pháp tốt đẹp để xóa mọi thứ lên, Trong mô đun, nếu số đầu tiên là> số thứ hai, trừ số thứ hai từ số đầu tiên cho đến khi số đầu tiên nhỏ hơn số thứ hai.
17 % 5 = ?
17 - 5 = 12
12 % 5 = ?
12 - 5 = 7
7 % 5 = ?
7 - 5 = 2
2 % 5 = 2
Do đó 17% 5, 12% 5, 7% 5 tất cả cho câu trả lời của 2. Điều này là do 2/5 = 0 (khi làm việc với số nguyên) với 2 như một phần còn lại.
Tôi sẽ thêm một ví dụ thực tế hơn cho những gì "Jean-Bernard Pellerin" đã nói.
Đúng là nếu bạn chia 1 cho 4 bạn nhận được 0 nhưng, Tại sao khi bạn làm 1% 4 bạn có 1 kết quả?
Về cơ bản đó là vì điều này:
n = a/b (integer), and
m = a % b = a - (b * n)
Vì vậy,
a b n = a/b b * n m = a%b
1 4 0 0 1
2 4 0 0 2
3 4 0 0 3
4 4 1 0 0
5 4 1 4 1
Kết luận: Trong khi một < b, kết quả của một% b sẽ là "một"
- 1. Python kiểu phân chia số nguyên & mô đun trong C
- 2. Phân chia mod của hai số nguyên
- 3. Phân chia bằng lỗi 0 khi sử dụng mô đun
- 4. Python: thích nhiều mô-đun nhỏ hơn hoặc một mô-đun lớn hơn?
- 5. Liệu || toán tử đánh giá đối số thứ hai ngay cả khi đối số đầu tiên là đúng?
- 6. Phân chia số nguyên nhanh hơn khi mẫu số được biết?
- 7. JavaScript, sắp xếp với thông số thứ hai nhanh hơn
- 8. Chia nhỏ hơn Multiply?
- 9. Cách phân đoạn thứ hai chồng lên nhau trên đoạn đầu tiên trong khi transistion mảnh
- 10. Đảm bảo chức năng ajax đầu tiên kết thúc trước số thứ hai
- 11. Trừ số nhị phân chưa ký lớn khỏi số nhỏ hơn
- 12. Khi nào để chia mã thành các tệp/mô-đun?
- 13. Số thứ hai lớn nhất
- 14. SQL chia cho hai số()
- 15. Chia td thành hai số
- 16. Đầu tiên [Thứ Hai] của tháng, Thứ Hai [Thứ Năm] của tháng, v.v. Delphi
- 17. Làm thế nào để loại bỏ một tham số thứ tự thấp hơn trong một mô hình khi các tham số thứ tự cao hơn vẫn còn?
- 18. Làm thế nào để có được hai số đầu tiên trong tích phân?
- 19. chia nhỏ knockoutjs
- 20. Chia danh sách các số thành danh sách nhỏ hơn với "tổng" xấp xỉ
- 21. fedora linux --- biên dịch mô-đun linux đầu tiên
- 22. Số nguyên là hai chữ số thập phân trong Java
- 23. Phân chia số nguyên SSE?
- 24. Cách mở Datepicker UI thứ hai khi đóng cửa sổ đầu tiên
- 25. QSplitter: Làm thế nào để làm cho cột thứ hai nhỏ hơn?
- 26. chia cho lần xuất hiện cuối cùng của chữ số, lấy phần thứ hai
- 27. Tính toán tổng số phần nghìn giây bằng Python cho mô đun datetime có phân chia thực được kích hoạt
- 28. Mã khung thực thể đầu tiên - Truyền nhỏ và số nguyên thành int32
- 29. Phân phối thư viện được chia sẻ và một số mã C với mô-đun mở rộng Cython
- 30. Nếu .. số khác nhỏ hơn, không thể truy cập đang
tôi hiểu phần còn lại khi số đầu tiên lớn hơn số thứ hai. Vì vậy, tôi nhận được như thế nào 13% 5 là 3. Những gì tôi không hiểu là câu trả lời sẽ là gì nếu khi 5% 13. –
Nếu mặt hàng của bạn lớn hơn dung lượng của bạn, bạn không bao giờ có thể phù hợp với dung lượng lưu trữ của mình. Vì vậy, kết quả là LUÔN LUÔN công suất tổng thể của bạn, mà vẫn chưa sử dụng (tức là, số đầu tiên - có thể bạn có nghĩa là '5% 13') – misberner
Vâng tôi đã có nghĩa là 5% 13 và không phải là cách khác xung quanh. Vì vậy, nếu tôi nhận được những gì bạn đang nói câu trả lời cho 5% 13 là 5? Đúng không? –