Tự Học C/C++ | Toán Tử Mô đun(Chia Lấy Dư - %) Và Lũy Thừa - Cafedev
Có thể bạn quan tâm
🔥CHỌN LỌC TOP NHỮNG KHOÁ HỌC LẬP TRÌNH ONLINE NHIỀU NGƯỜI THEO HOC TẠI ĐÂY🔥
Nội dung chính
- 1. Toán tử mô đun
- 2. Mô-đun với số âm
- 3. Toán tử lũy thừa ở đâu?
- Đăng ký kênh youtube để ủng hộ Cafedev nha các bạn, Thanks you!
1. Toán tử mô đun
Toán tử mô đun (còn được gọi là toán tử chia lấy phần dư) là một toán tử trả về phần còn lại sau khi thực hiện phép chia số nguyên. Ví dụ, 7/4 = 1 phần dư 3. Do đó, 7% 4 = 3. Như một ví dụ khác, 25/7 = 3 phần dư 4, do đó 25% 7 = 4. Mô-đun chỉ hoạt động với các toán hạng số nguyên.
Mô đun hữu ích nhất để kiểm tra xem một số có chia hết cho một số khác hay không: nếu x% y cho kết quả là 0, thì chúng ta biết rằng x chia hết cho y.
/* Cafedev.vn - Kênh thông tin IT hàng đầu Việt Nam @author cafedevn Contact: cafedevn@gmail.com Fanpage: https://www.facebook.com/cafedevn Group: https://www.facebook.com/groups/cafedev.vn/ Instagram: https://instagram.com/cafedevn Twitter: https://twitter.com/CafedeVn Linkedin: https://www.linkedin.com/in/cafe-dev-407054199/ Pinterest: https://www.pinterest.com/cafedevvn/ YouTube: https://www.youtube.com/channel/UCE7zpY_SlHGEgo67pHxqIoA/ */ #include <iostream> int main() { std::cout << "Enter an integer: "; int x{}; std::cin >> x; std::cout << "Enter another integer: "; int y{}; std::cin >> y; std::cout << "The remainder is: " << x % y << '\n'; if ((x % y) == 0) std::cout << x << " is evenly divisible by " << y << '\n'; else std::cout << x << " is not evenly divisible by " << y << '\n'; return 0; }Dưới đây là một số hoạt động của chương trình này:
Enter an integer: 6 Enter another integer: 3 The remainder is: 0 6 is evenly divisible by 3 Enter an integer: 6 Enter another integer: 4 The remainder is: 2 6 is not evenly divisible by 42. Mô-đun với số âm
Toán tử mô đun cũng có thể làm việc với các toán hạng âm. x% y luôn trả về kết quả có dấu của x.
Chạy chương trình trên:
Enter an integer: -6 Enter another integer: 4 The remainder is: -2 -6 is not evenly divisible by 4 Enter an integer: 6 Enter another integer: -4 The remainder is: 2 6 is not evenly divisible by -4Trong cả hai trường hợp, bạn có thể thấy phần còn lại có dấu của toán hạng đầu tiên.
Lưu ý: Trước C ++ 11, môđun với toán hạng âm có thể dẫn đến kết quả dương hoặc âm. Điều này đã được dự đoán trong C ++ 11.
3. Toán tử lũy thừa ở đâu?
Bạn sẽ lưu ý rằng toán tử ^ (thường được sử dụng để biểu thị lũy thừa trong toán học) là một phép toán Bitwise XOR trong C ++ (được đề cập trong bài học – Thao tác trên bit với toán tử bit và mặt nạ của bit). C ++ không bao gồm một toán tử số mũ.
Để thực hiện số mũ trong C ++, hãy #include header <cmath> và sử dụng hàm pow ():
#include <cmath> double x{ std::pow(3.0, 4.0) }; // 3 to the 4th powerLưu ý rằng các tham số (và giá trị trả về) của hàm pow() là kiểu double. Do lỗi làm tròn số dấu phẩy động, kết quả của pow() có thể không chính xác (ngay cả khi bạn chuyển nó là số nguyên hoặc số nguyên).
Nếu bạn muốn tính lũy thừa số nguyên, tốt nhất bạn nên sử dụng hàm của riêng mình để làm như vậy. Hàm sau thực hiện lũy thừa số nguyên (sử dụng thuật toán “lũy thừa bình phương” không trực quan để đạt hiệu quả):
#include <cstdint> // for std::int_fast64_t // note: exp must be non-negative std::int_fast64_t pow(int base, int exp) { std::int_fast64_t result{ 1 }; while (exp) { if (exp & 1) result *= base; exp >>= 1; base *= base; } return result; }Đừng lo lắng nếu bạn không hiểu cách hoạt động của hàm này – bạn không cần phải hiểu nó để gọi nó.
/* Cafedev.vn - Kênh thông tin IT hàng đầu Việt Nam @author cafedevn Contact: cafedevn@gmail.com Fanpage: https://www.facebook.com/cafedevn Group: https://www.facebook.com/groups/cafedev.vn/ Instagram: https://instagram.com/cafedevn Twitter: https://twitter.com/CafedeVn Linkedin: https://www.linkedin.com/in/cafe-dev-407054199/ Pinterest: https://www.pinterest.com/cafedevvn/ YouTube: https://www.youtube.com/channel/UCE7zpY_SlHGEgo67pHxqIoA/ */ #include <iostream> #include <cstdint> // for std::int_fast64_t // note: exp must be non-negative std::int_fast64_t powint(int base, int exp) { std::int_fast64_t result{ 1 }; while (exp) { if (exp & 1) result *= base; exp >>= 1; base *= base; } return result; } int main() { std::cout << powint(7, 12); // 7 to the 12th power return 0; }Output:
13841287201Lưu ý: Trong phần lớn các trường hợp, lũy thừa số nguyên sẽ làm tràn kiểu dữ liệu tích phân. Đây có thể là lý do tại sao một hàm như vậy không được đưa vào thư viện chuẩn ngay từ đầu.
Cài ứng dụng cafedev để dễ dàng cập nhật tin và học lập trình mọi lúc mọi nơi tại đây.
Nguồn và Tài liệu tiếng anh tham khảo:
- cplusplus
- w3schools
- Geeksforgeeks
- learncpp
Tài liệu từ cafedev:
- Full series tự học C++ từ cơ bản tới nâng cao tại đây nha.
- Ebook về C++ tại đây.
- Các series tự học lập trình MIỄN PHÍ khác
- Nơi liên hệ hợp tác hoặc quảng cáo cùng Cafedevn tại đây.
Nếu bạn thấy hay và hữu ích, bạn có thể tham gia các kênh sau của cafedev để nhận được nhiều hơn nữa:
- Group Facebook
- Fanpage
- Youtube
- Trang chủ
Chào thân ái và quyết thắng!
Đăng ký kênh youtube để ủng hộ Cafedev nha các bạn, Thanks you!
Từ khóa » Toán Tử Lũy Thừa Trong C
-
Hàm Pow Trong C
-
Hàm Pow() Trong C / C++ - Freetuts
-
Thuật Toán Tính Lũy Thừa Nhanh Trong C/C++ - Freetuts
-
Cách Viết Giai Thừa Và Lũy Thừa Trong C/C++? - Dạy Nhau Học
-
Hàm Pow Trong C++
-
Hàm Pow() Trong C | Thư Viện C Chuẩn
-
Hàm Mũ Trong C++?
-
C# — Có Toán Tử Lũy Thừa Trong C # Không?
-
Top 15 Cách Viết Lũy Thừa Trong C++
-
Có Toán Tử Mũ Trong C # Không? - HelpEx
-
Toán Tử Lũy Thừa Trong C ++ - HelpEx - Trao đổi & Giúp đỡ
-
44 [Bài Tập C (Hàm, Lý Thuyết Số )]. Lũy Thừa Nhị Phân - YouTube
-
Các Hàm Math Trong C++ - Học Lập Trình C++ Online - VietTuts
-
POWER (Hàm POWER) - Microsoft Support
-
Tổng Hợp Các Cách Tính Lũy Thừa Trong Excel Bằng Hàm Và Công Thức
-
Tính Lũy Thừa Ma Trận Trong C/C++ - Lập Trình Không Khó
-
Bài Tập Về Vòng Lặp Trong C++: Tính Lũy Thừa Bậc B Của A (a Mũ B)
-
Thư Viện Cmath Và Một Số Hàm Toán Học Thông Dụng Trong C++