Làm tròn số chia C++

Trong Python, chúng ta có thể thực hiện phép chia sàn (đôi khi còn được gọi là phép chia số nguyên) bằng cách sử dụng toán tử

3

Learn Data Science with

Làm tròn số chia C++

0. Toán tử này sẽ chia đối số thứ nhất cho đối số thứ hai và làm tròn kết quả xuống số nguyên gần nhất, làm cho nó tương đương với hàm
3

Learn Data Science with

1

Xem bên dưới để biết ví dụ nhanh về điều này

15 // 4

Learn Data Science with

Ngoài

3

Learn Data Science with

Cái nào giống như

import math
math.floor(15 / 4)

Learn Data Science with

Ngoài

3

Learn Data Science with

/ vs // — phép chia vs phép chia tầng

Kết quả của phép chia thông thường (sử dụng toán tử

3

Learn Data Science with

2) là $\frac{15}{4} = 3. 75 đô la, nhưng sử dụng
3

Learn Data Science with

0 đã tăng lên 3 đô la. 75 đô la xuống còn 3 đô la

Kết quả của phép chia thông thường luôn là số float, trong khi nếu một trong các toán hạng là số float trong phép chia sàn, thì đầu ra sẽ là số float

Sau đây là một ví dụ về điều này

________số 8

Ngoài

Regular division
1.0 	is a float.

Floor division
3 	is an int.
3.0 	is a float.

Learn Data Science with

Chia tầng bằng số âm

Khi toán hạng là số âm, phép chia sàn sẽ trả về số nguyên lớn nhất nhỏ hơn hoặc bằng kết quả của phép chia thông thường. Hãy sử dụng các toán hạng giống như trước đây để cho thấy nó hoạt động như thế nào

3

Learn Data Science with

0

Ngoài

3

Learn Data Science with

1

Nhìn vào kết quả của phép chia thông thường khi cả hai số đều dương, $\frac{15}{4}=3. 75$, phép chia sàn trả về $3$, vì đó là số nguyên lớn nhất nhỏ hơn hoặc bằng $3. 75$. Khi một trong các toán hạng là âm, kết quả của phép chia bình thường là âm ($-3. 75$), vì vậy số nguyên lớn nhất nhỏ hơn hoặc bằng là $-4$

Chúng ta sẽ xem xét việc phân chia tầng có thể hữu ích ở đâu đồng thời xem xét các cách tiếp cận khác mà chúng ta có thể sử dụng để đạt được kết quả tương tự

Các trường hợp sử dụng phân chia tầng

Khi sử dụng Python, bạn sẽ thường gặp lỗi các hàm không tương thích với số float. Ví dụ: giả sử bạn muốn sử dụng hàm phạm vi với thương của hai số

3

Learn Data Science with

2

Ngoài

3

Learn Data Science with

3

Để chương trình của chúng tôi hoạt động chính xác, trước tiên chúng tôi cần chuyển đổi thương số thành loại số nguyên, chúng tôi có thể đạt được điều này với toán tử

3

Learn Data Science with

0

3

Learn Data Science with

0

Ngoài

3

Learn Data Science with

1

Một lĩnh vực khác mà bạn có thể muốn sử dụng toán tử sàn là khi đánh chỉ mục danh sách

3

Learn Data Science with

2

Ngoài

3

Learn Data Science with

3

Một cách để giải quyết vấn đề này là sử dụng toán tử chia tầng

3

Learn Data Science with

4

Ngoài

3

Learn Data Science with

5

Tùy thuộc vào ứng dụng của bạn, sàn một số không nhất thiết phải là lựa chọn tốt nhất. Trong phần tiếp theo, chúng ta sẽ xem xét các hàm khác nhau có thể cho kết quả tương tự

Các cách tiếp cận thay thế cho //

Đôi khi, bạn sẽ thấy mình đang làm việc với các bộ dữ liệu chứa cả số nguyên và số thực, chẳng hạn như nếu bạn đang sử dụng dữ liệu lộn xộn

Trong những trường hợp đó, toán tử

3

Learn Data Science with

0 sẽ tạo ra kết quả không nhất quán, xuất ra cả số thực và số nguyên. Do đó, nếu chương trình của bạn phụ thuộc vào số nguyên, thì việc sử dụng toán tử
3

Learn Data Science with

0 sẽ yêu cầu các bước bổ sung để đảm bảo đầu ra nhất quán

Có một số cách khác để thao tác thương của hai số để hoạt động phù hợp với chương trình của bạn. Ví dụ: không phải lúc nào bạn cũng muốn làm tròn giá trị xuống, vì vậy, sử dụng các phương pháp tiếp cận khác nhau có thể giúp bạn kiểm soát nhiều hơn kết quả

lựa chọn 1. môn Toán. tầng lầu()

3

Learn Data Science with

1 đạt được kết quả tương tự như toán tử chia sàn, làm tròn đối số của nó xuống số nguyên gần nhất

Một điểm khác biệt đáng kể khi sử dụng

3

Learn Data Science with

1 là nó luôn xuất ra một số nguyên, bất kể kiểu dữ liệu đầu vào là gì. Khi làm việc với cả số nguyên và số float,
3

Learn Data Science with

1 hữu ích hơn vì nó cung cấp đầu ra nhất quán hơn

Sau đây cho thấy cách chúng ta có thể tính kết quả của phép chia thông thường

import math
math.floor(15 / 4)

Learn Data Science with

Ngoài

3

Learn Data Science with

Giống như khi sử dụng toán tử sàn,

print("Regular division")
print(2 / 2, "\tis a float.")

print("\nFloor division")
print(15 // 4, "\tis an int.")
print(15.0 // 4, "\tis a float.")

Learn Data Science with

0 vẫn sẽ làm tròn xuống khi đầu vào là số âm

Lựa chọn 2. môn Toán. trần nhà()

Ngoài ra, đối với

3

Learn Data Science with

1, chúng ta cũng có thể sử dụng
print("Regular division")
print(2 / 2, "\tis a float.")

print("\nFloor division")
print(15 // 4, "\tis an int.")
print(15.0 // 4, "\tis a float.")

Learn Data Science with

2, sẽ luôn làm tròn lên đến số nguyên gần nhất thay vì xuống

Ví dụ

3

Learn Data Science with

8

Ngoài

3

Learn Data Science with

9

Theo cách tương tự như

print("Regular division")
print(2 / 2, "\tis a float.")

print("\nFloor division")
print(15 // 4, "\tis an int.")
print(15.0 // 4, "\tis a float.")

Learn Data Science with

0,
print("Regular division")
print(2 / 2, "\tis a float.")

print("\nFloor division")
print(15 // 4, "\tis an int.")
print(15.0 // 4, "\tis a float.")

Learn Data Science with

4 luôn cung cấp đầu ra dưới dạng kiểu số nguyên, bất kể kiểu dữ liệu đối số.
print("Regular division")
print(2 / 2, "\tis a float.")

print("\nFloor division")
print(15 // 4, "\tis an int.")
print(15.0 // 4, "\tis a float.")

Learn Data Science with

4 sẽ làm tròn số âm lên, vì vậy kết quả là
print("Regular division")
print(2 / 2, "\tis a float.")

print("\nFloor division")
print(15 // 4, "\tis an int.")
print(15.0 // 4, "\tis a float.")

Learn Data Science with

6 sẽ cho kết quả là
print("Regular division")
print(2 / 2, "\tis a float.")

print("\nFloor division")
print(15 // 4, "\tis an int.")
print(15.0 // 4, "\tis a float.")

Learn Data Science with

7

Tùy chọn 3. int()

Để khắc phục nhanh, bạn có thể chuyển một

print("Regular division")
print(2 / 2, "\tis a float.")

print("\nFloor division")
print(15 // 4, "\tis an int.")
print(15.0 // 4, "\tis a float.")

Learn Data Science with

8 sang một
print("Regular division")
print(2 / 2, "\tis a float.")

print("\nFloor division")
print(15 // 4, "\tis an int.")
print(15.0 // 4, "\tis a float.")

Learn Data Science with

9. Truyền một số float cho
Regular division
1.0 	is a float.

Floor division
3 	is an int.
3.0 	is a float.

Learn Data Science with

0 dẫn đến một số nguyên trong đó mọi thứ bị cắt sau số thập phân của số float đầu vào

Trong ví dụ sau, $\frac{15}{4}=3. 75 đô la, nhưng chuyển sang một số nguyên sẽ cắt bỏ $. 75$

import math
math.floor(15 / 4)

Learn Data Science with

0

Ngoài

3

Learn Data Science with

Regular division
1.0 	is a float.

Floor division
3 	is an int.
3.0 	is a float.

Learn Data Science with

0 hoạt động tương tự như
3

Learn Data Science with

1, ngoại trừ
Regular division
1.0 	is a float.

Floor division
3 	is an int.
3.0 	is a float.

Learn Data Science with

0 làm tròn số âm lên thay vì xuống một cách hiệu quả

import math
math.floor(15 / 4)

Learn Data Science with

2

Ngoài

import math
math.floor(15 / 4)

Learn Data Science with

3

Tùy chọn 4. vòng()

Ngoài các hàm

Regular division
1.0 	is a float.

Floor division
3 	is an int.
3.0 	is a float.

Learn Data Science with

4, chúng ta cũng có thể sử dụng
Regular division
1.0 	is a float.

Floor division
3 	is an int.
3.0 	is a float.

Learn Data Science with

5 để làm tròn giá trị và sau đó xuất kết quả dưới dạng số nguyên

Sự khác biệt với

Regular division
1.0 	is a float.

Floor division
3 	is an int.
3.0 	is a float.

Learn Data Science with

5 là nó sẽ sử dụng cách làm tròn thông thường, tôi. e. rằng bất kỳ số thập phân nào. 5 và lớn hơn được làm tròn lên

Sau đây minh họa cách sử dụng của

Regular division
1.0 	is a float.

Floor division
3 	is an int.
3.0 	is a float.

Learn Data Science with

5

import math
math.floor(15 / 4)

Learn Data Science with

4

Ngoài

3

Learn Data Science with

9

Chúng tôi cũng có thể chỉ định số lượng điểm thập phân đầu vào sẽ được làm tròn

Ví dụ dưới đây cho thấy cách chúng ta có thể làm tròn kết quả của

Regular division
1.0 	is a float.

Floor division
3 	is an int.
3.0 	is a float.

Learn Data Science with

8 chia cho
Regular division
1.0 	is a float.

Floor division
3 	is an int.
3.0 	is a float.

Learn Data Science with

9 (
3

Learn Data Science with

00) đến 1 chữ số thập phân

import math
math.floor(15 / 4)

Learn Data Science with

6

Ngoài

import math
math.floor(15 / 4)

Learn Data Science with

7

Thêm một

3

Learn Data Science with

01 sau dấu phẩy thông báo rằng chúng tôi muốn kết quả có 1 dấu thập phân, nhưng chúng tôi có thể sử dụng bất kỳ số nào. Ví dụ: chúng ta có thể làm tròn giá trị của số pi đến chín chữ số thập phân

import math
math.floor(15 / 4)

Learn Data Science with

8

Ngoài

import math
math.floor(15 / 4)

Learn Data Science with

9

Tóm lược

Toán tử chia tầng (

3

Learn Data Science with

0) chủ yếu được sử dụng khi bạn yêu cầu một số nguyên hoặc cần trả về số nguyên nhỏ nhất nhỏ hơn hoặc bằng đầu vào

Nếu toán hạng đều là số nguyên thì đầu ra sẽ là số nguyên. Nếu một trong hai toán hạng là số float thì đầu ra sẽ là số float

Các dòng sử dụng toán tử

3

Learn Data Science with

0 rất dễ đọc và thành ngữ, nhưng trong trường hợp bạn đang làm việc với các tập dữ liệu lộn xộn và không nhất quán, thì tốt hơn nên sử dụng
3

Learn Data Science with

1,
print("Regular division")
print(2 / 2, "\tis a float.")

print("\nFloor division")
print(15 // 4, "\tis an int.")
print(15.0 // 4, "\tis a float.")

Learn Data Science with

2,
Regular division
1.0 	is a float.

Floor division
3 	is an int.
3.0 	is a float.

Learn Data Science with

0 hoặc
Regular division
1.0 	is a float.

Floor division
3 	is an int.
3.0 	is a float.

Learn Data Science with

5

Bắt đầu học miễn phí

Nhận thông tin cập nhật trong hộp thư đến của bạn

Tham gia cùng hơn 7.500 người học khoa học dữ liệu

Bài viết gần đây

Ưu đãi khóa học tốt nhất cho Thứ Sáu Đen và Thứ Hai Điện Tử 2022
Hàm sigmoid
chấm sản phẩm
7 khóa học về trí tuệ nhân tạo (AI) tốt nhất năm 2023

Các khóa học Python tốt nhất theo phân tích dữ liệu

Trong số khoảng 3000 dịch vụ, đây là những khóa học Python tốt nhất theo phân tích này

xem bài viết


Nhận thông tin cập nhật trong hộp thư đến của bạn

Tham gia cùng hơn 7.500 người học khoa học dữ liệu

Gặp gỡ các tác giả

Làm tròn số chia C++

Nhà khoa học dữ liệu Alfie Grace

Alfie tốt nghiệp Thạc sĩ Kỹ thuật Cơ khí tại Đại học College London. Anh ấy hiện đang làm Nhà khoa học dữ liệu tại Square Enix. Tìm anh ấy trên LinkedIn

Phép chia trong C có làm tròn xuống không?

Kiểm tra độ chính xác. Trong C, phép chia số nguyên luôn làm tròn xuống , đúng không? . Đó là cách phân chia số nguyên được xác định. 15/4 là 3, số dư là 3.

Phép chia số nguyên có làm tròn lên trong C không?

Phép chia số nguyên làm tròn về 0 . Điều này có nghĩa là, ví dụ, kết quả của phép chia số nguyên 7/5 sẽ có số thực 1. 4 là kết quả trung gian và được làm tròn theo hướng 0 sẽ cho kết quả là 1.

C có tự động làm tròn lên hoặc xuống không?

Phép chia số nguyên bị cắt bớt trong C, có . (tôi. e. nó làm tròn về số không, không làm tròn xuống. ) làm tròn về 0 nghĩa là. 5 hoặc lớn hơn => làm tròn từ 0 đến.

Làm thế nào để làm tròn số trong C?

Đối với các phép toán làm tròn này, ngôn ngữ C cung cấp một tập hợp các hàm có trong thư viện “math”. Để làm tròn một biến thành số nguyên gần nhất, có hàm ceil() . Để làm tròn một biến thành số nguyên gần nhất, có hàm floor().