Hướng dẫn can you convert float to binary in python? - bạn có thể chuyển đổi float sang nhị phân trong python không?

Hãy sử dụng Numpy!

import numpy as np

def binary(num, string=True):
    bits = np.unpackbits(np.array([num]).view('u1'))
    if string:
        return np.array2string(bits, separator='')[1:-1]
    else:
        return bits

e.g.,

binary(np.pi)
# '0001100000101101010001000101010011111011001000010000100101000000'

binary(np.pi, string=False)
# array([0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1,
#       0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0,
#       0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0],
#      dtype=uint8)


Trong bài viết này, chúng ta sẽ thấy cách chuyển đổi giá trị dấu phẩy động thành nhị phân. Nhị phân sử dụng hai chữ số, 0 và 1. còn được gọi là hệ thống số cơ sở 2 mỗi vị trí trong một số nhị phân đại diện cho công suất 0 của cơ sở (2). Vị trí cuối cùng trong một số nhị phân đại diện cho công suất X của cơ sở (2).

Đầu tiên, chúng tôi lấy phần số nguyên từ giá trị điểm nổi và chuyển đổi nó thành nhị phân sau đó lấy phần phân số và chuyển đổi nó thành dạng nhị phân và cuối cùng kết hợp cả hai.

Hãy nói rằng chúng tôi có số điểm nổi sau -

22.625

Chuyển đổi thập phân 22 thành nhị phân 10110. Chuyển đổi thập phân 0,625 thành nhị phân 0,101. Kết hợp số nguyên và phân số để có được đầu ra sau -

10110.101

Chuyển đổi nổi sang nhị phân bằng cách lấy đầu vào của người dùng

Thí dụ

def floatoctal_convert(my_number, places = 3): my_whole, my_dec = str(my_number).split(".") my_whole = int(my_whole) my_dec = int (my_dec) res = bin(my_whole).lstrip("0b") + "." for x in range(places): my_whole, my_dec = str((my_decimal_converter(my_dec)) * 8).split(".") my_dec = int(my_dec) res += my_whole return res def my_decimal_converter(num): while num > 1: num /= 10 return num n = input("Enter floating point value :
"
) p = int(input("Enter the number of decimal places of the result :
"
)) print(floatoctal_convert(n, places = p))

Đầu ra

Enter floating point value :
2.34
Enter the number of decimal places of the result :
3
10.256

Hướng dẫn can you convert float to binary in python? - bạn có thể chuyển đổi float sang nhị phân trong python không?

Cập nhật vào ngày 12 tháng 8 năm 2022 11:54:31

  • Câu hỏi và câu trả lời liên quan
  • C# chương trình để chuyển đổi nổi thành nhị phân
  • Chương trình Java để chuyển đổi nổi thành nhị phân
  • Chương trình Python để chuyển đổi số thập phân thành số nhị phân
  • Chương trình Python để chuyển đổi mã màu xám thành nhị phân
  • Chương trình Python để chuyển đổi mã nhị phân thành màu xám
  • Chuyển đổi thập phân thành số nhị phân trong chương trình Python
  • C# Chương trình chuyển đổi nhị phân thành thập phân
  • C# Chương trình chuyển đổi thập phân thành nhị phân
  • Chương trình 8085 để chuyển đổi màu xám thành nhị phân
  • Chương trình 8085 để chuyển đổi ASCII thành nhị phân
  • C# Chương trình chuyển đổi chuỗi nhị phân thành số nguyên
  • Chương trình C ++ để chuyển đổi số thập phân thành nhị phân
  • Chương trình Java để chuyển đổi từ thập phân sang nhị phân
  • Chương trình Java để chuyển đổi int thành chuỗi nhị phân
  • Chương trình 8085 để chuyển số nhị phân thành màu xám

Lập trình Python / Dấu hiệu Decimal để chuyển đổi nhị phân

Chuyển đổi số thập phân điểm nổi sang nhị phân bằng chương trình Python.

Decimal vs nhị phân

Hệ thống số thập phân là một hệ thống trong đó các số được biểu thị theo thang đo 10. trong khi hệ thống số nhị phân liên quan đến việc biểu thị số theo tỷ lệ 2.

Thủ tục

Bước 1: Toàn bộ phần số (59) của 59.65625 được chia cho 2 cho đến khi thương số trở thành 1. Phần còn lại (mang) được tích lũy (1 hoặc 0) cho đến khi chuỗi hoạt động cuối cùng cho thương số 1 được thực hiện Thứ tự ngược của sáng tạo, để có được 111011. The whole number part(59) of 59.65625 is divided by 2 until the quotient becomes 1. The remainder(carry) that is accumulated(either 1 or 0) till the last sequence of operation that gives the quotient 1 is taken in the reverse order of creation, so as to obtain 111011.

59/2 = 29 (1 được coi là mang theo)

29/2 = 14 (1 được coi là mang theo)

14/2 = 7 (0 được coi là mang theo)

7/2 = 3 (1 được coi là mang theo)

3/2 = 1 (1 được coi là mang theo)

Vì vậy, khi chúng tôi đảo ngược việc mang theo, chúng tôi nhận được 11011. Cuối cùng, chúng tôi đặt chỉ số cuối cùng vào đầu năm 11011 để có được 111011.

Bước 2: Phần thập phân được nhân với 2 lần nhiều lần so với số vị trí thập phân trong kết quả cuối cùng cần thiết. Để giải thích, chúng ta hãy lấy ví dụ nêu trên của 59.65625. Ở đây 0,65625 = 65625 * 10^-5. The decimal part is multiplied by 2 as many times as the number of decimal places in the final result required. To elaborate, let's take the above-mentioned example of 59.65625. Here 0.65625 = 65625 * 10^-5.

0.656252 = 1.31250 (1 được lấy làm mang theo)

0.312502 = 0,62500 (0 được lấy làm mang theo)

0.625002 = 1.25000 (1 được lấy làm mang theo)

0,250002 = 0,50000 (0 được lấy làm mang theo)

0.50000*2 = 1,00000 (1 được lấy làm mang) Khi chúng tôi mang các tính toán lại với nhau, chúng tôi thu được 111011.10101
When we bring the calculations together, we obtain 111011.10101

Chương trình Python:

Mã bắt đầu bằng việc nhận đầu vào từ người dùng.

try:
num = float(input('Enter a floating point decimal number: '))

except(ValueError):
print('Please enter a valid floating point decimal')

Số lượng vị trí thập phân mà kết quả cuối cùng sẽ được điều chỉnh để nhận được từ người dùng cuối.

places = int(input('Enter the number of decimal places in the result: '))

Toàn bộ danh sách (danh sách toàn bộ số) và dec_list (danh sách các số thập phân) được khai báo là các biến toàn cầu.

global whole_list
global dec_list

Số thập phân nổi đã được nhập được chia thành toàn bộ số và số thập phân.

whole, dec = str(num).split('.')
whole = int(whole)
dec = int(dec)

Toàn bộ phần số được chia cho 2 và chỉ số tiếp theo sau đó được chia cho 2. Quá trình tiếp tục cho đến khi thương số là 1. Phần còn lại được hình thành bởi mỗi lần lặp của vòng lặp được thêm vào toàn bộ_list (danh sách toàn bộ số).

binary(np.pi)
# '0001100000101101010001000101010011111011001000010000100101000000'

binary(np.pi, string=False)
# array([0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1,
#       0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0,
#       0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0],
#      dtype=uint8)
0

Phần thập phân được nhân với 2 và sản phẩm kết quả được chia thành toàn bộ số và thập phân. Do đó, toàn bộ số được hình thành được thêm vào dec_list (danh sách các số thập phân). Quá trình được tiếp tục cho đến số vị trí thập phân mà kết quả cuối cùng sẽ được điều chỉnh.

binary(np.pi)
# '0001100000101101010001000101010011111011001000010000100101000000'

binary(np.pi, string=False)
# array([0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1,
#       0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0,
#       0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0],
#      dtype=uint8)
1

Nếu độ dài của Whole_list lớn hơn 1 (ví dụ: 1.0567 sẽ có một phần tử toàn bộ_list), danh sách sẽ được đảo ngược. Sau đó, 1 được chèn là phần tử đầu tiên của toàn bộ_list.

binary(np.pi)
# '0001100000101101010001000101010011111011001000010000100101000000'

binary(np.pi, string=False)
# array([0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1,
#       0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0,
#       0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0],
#      dtype=uint8)
2

Cuối cùng, kết quả được in.

binary(np.pi)
# '0001100000101101010001000101010011111011001000010000100101000000'

binary(np.pi, string=False)
# array([0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1,
#       0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0,
#       0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0],
#      dtype=uint8)
3

Liên kết GitHub:

Mã hóa hạnh phúc !!!

Bạn có thể chuyển đổi một chiếc phao thành nhị phân?

Để chuyển đổi phần phân số thành nhị phân, nhân phần phân số với 2 và lấy một bit xuất hiện trước điểm thập phân. Thực hiện theo cùng một thủ tục với phần sau phần thập phân (.) Cho đến khi nó trở thành 1.0.multiply fractional part with 2 and take the one bit which appears before the decimal point. Follow the same procedure with after the decimal point (.) part until it becomes 1.0.

Làm thế nào để bạn chuyển đổi dữ liệu thành nhị phân trong Python?

Trong Python, bạn chỉ có thể sử dụng hàm bin () để chuyển đổi từ giá trị thập phân sang giá trị nhị phân tương ứng của nó. Và tương tự, hàm int () để chuyển đổi một nhị phân thành giá trị thập phân của nó. Hàm int () lấy đối số thứ hai là cơ sở của số sẽ được chuyển đổi, đó là 2 trong trường hợp số nhị phân.use the bin() function to convert from a decimal value to its corresponding binary value. And similarly, the int() function to convert a binary to its decimal value. The int() function takes as second argument the base of the number to be converted, which is 2 in case of binary numbers.

Bạn có thể chuyển đổi phao thành số nguyên trong Python không?

Chuyển đổi phao sang số nguyên Python cũng có chức năng tích hợp để chuyển đổi phao sang số nguyên: int ().Trong trường hợp này, 390.8 sẽ được chuyển đổi thành 390.Khi chuyển đổi phao sang số nguyên với hàm int (), Python cắt bỏ số thập phân và số lượng còn lại của một chiếc phao để tạo số nguyên.

Điểm nổi nhị phân trong Python là gì?

Python sử dụng lớp float để thể hiện số thực.Cpython thực hiện float bằng cách sử dụng loại c kép.Loại C kép thường thực hiện phao nhị phân hai điểm chính xác của IEEE 754, còn được gọi là nhị phân64.Python Float sử dụng 8 byte (hoặc 64 bit) để biểu thị số thực.uses 8 bytes (or 64 bits) to represent real numbers.