Có bất kỳ mô đun hoặc hàm nào trong python mà tôi có thể sử dụng để chuyển đổi số thập phân sang số nhị phân tương đương không? Tôi có thể chuyển đổi nhị phân sang thập phân bằng cách sử dụng int ('[binary_value]', 2), do đó, bất kỳ cách nào để làm ngược lại mà không cần viết mã để làm điều đó bản thân mình?Chuyển đổi số thập phân sang nhị phân trong python
Trả lời
tất cả các số được lưu trữ dưới dạng nhị phân. nếu bạn muốn có một đại diện văn bản của một số được đưa ra trong nhị phân, sử dụng bin(i)
>>> bin(10)
'0b1010'
>>> 0b1010
10
"{0:#b}".format(my_int)
Đây là định dạng để in với số 0 đứng đầu: '{{: 08b}". Định dạng (my_int) ' –
Tôi đồng ý với câu trả lời @ aaronasterling của. Tuy nhiên, nếu bạn muốn có một chuỗi phi nhị phân mà bạn có thể đúc thành một int, sau đó bạn có thể sử dụng các thuật toán kinh điển:
def decToBin(n):
if n==0: return ''
else:
return decToBin(n/2) + str(n%2)
' int (bin (10), 2) 'sản lượng' 10'. 'int (decToBin (10))' mang lại '101' và' int (decToBin (10), 2) 'lợi nhuận 5. Ngoài ra, giới hạn đệ quy của hàm hit với' từ __future__ bộ phận nhập khẩu' hoặc python 3 – aaronasterling
@aaron, điểm sau có thể được giải quyết bằng cách chuyển sang '//' (phân chia cắt ngắn); trước đây, bằng cách chuyển đổi thứ tự của hai chuỗi được tổng kết trong 'return'. Không phải đệ quy đó có ý nghĩa gì ở đây ('bin (n) [2:]' - hay vòng lặp 'while' nếu bạn bị mắc kẹt trên một số phiên bản cũ của Python - sẽ là _much_ tốt hơn!). –
Điều này thật tuyệt vời! nó có thể đi với ** lambda ** cách quá:] 'nhị phân = lambda n:' 'nếu n == 0 nhị phân khác (n/2) + str (n% 2) ' –
def dec_to_bin(x):
return int(bin(x)[2:])
Thật dễ dàng.
** - 1 ** - don ' t trả về một int. Ngoài ra, 'dec_to_bin (-1)' cho 'ValueError: chữ không hợp lệ cho int() với base 10: 'b1'' – Eric
bạn có thể giải thích rằng [2:]? –
Thử 'bin (2)'. Bạn không nhận được '10'. Bạn nhận được '0b10'. Cùng hố có thể với 'hex (2)' ('0x2'). Vì vậy, bạn muốn tất cả trừ hai ký tự đầu tiên. Vì vậy, bạn lấy một lát bắt đầu sau hai ký tự đầu tiên. – leewz
Bạn cũng có thể sử dụng một hàm từ module NumPy
from numpy import binary_repr
mà cũng có thể xử lý các số không hàng đầu:
Definition: binary_repr(num, width=None)
Docstring:
Return the binary representation of the input number as a string.
This is equivalent to using base_repr with base 2, but about 25x
faster.
For negative numbers, if width is not given, a - sign is added to the
front. If width is given, the two's complement of the number is
returned, with respect to that width.
n=int(input('please enter the no. in decimal format: '))
x=n
k=[]
while (n>0):
a=int(float(n%2))
k.append(a)
n=(n-a)/2
k.append(0)
string=""
for j in k[::-1]:
string=string+str(j)
print('The binary no. for %d is %s'%(x, string))
Nếu không có sự 0b trước:
"{0:b}".format(int)
Bắt đầu với Python 3.6 bạn cũng có thể sử dụng formatted string literal or f-string, --- PEP:
f"{int:b}"
Tôi nhận được lỗi sau: 'TypeError: chuỗi định dạng không trống được chuyển đến đối tượng .__ format__' –
Đối với mục đích hoàn chỉnh: nếu bạn muốn chuyển đổi đại diện điểm cố định để tương đương nhị phân của nó bạn có thể thực hiện các hoạt động sau đây:
Lấy số nguyên và phần phân đoạn.
from decimal import * a = Decimal(3.625) a_split = (int(a//1),a%1)
Chuyển đổi phần phân số trong biểu diễn nhị phân của nó. Để đạt được điều này nhân liên tiếp bằng 2.
fr = a_split[1] str(int(fr*2)) + str(int(2*(fr*2)%1)) + ...
Bạn có thể đọc lời giải thích here.
- 1. Chuyển đổi số thập phân thành nhị phân trong R?
- 2. Cách nhanh chóng để chuyển đổi số nhị phân sang số thập phân
- 3. Số nhị phân trong Python
- 4. Chuyển đổi thập phân sang thập phân trong lisp chung
- 5. Vỏ băm Thập phân để chuyển đổi nhị phân
- 6. Làm thế nào để chuyển đổi số thập phân vào danh sách nhị phân trong python
- 7. Python Chuyển đổi phân số thành số thập phân
- 8. Chuyển mảng byte sang số thập phân
- 9. Chuyển đổi chuỗi thập lục phân thành chuỗi nhị phân
- 10. python cách chuyển đổi ngày giờ thành số thập phân
- 11. Chuyển đổi số thập phân sang hex bằng Erlang?
- 12. Chuyển đổi số thập phân sang DD: HH: MM
- 13. Python: Chuyển đổi chuỗi thành số thập phân số
- 14. chuyển đổi dấu thập phân
- 15. Làm thế nào để chuyển đổi số trong số hex, oct, thập phân và nhị phân trong OCaml?
- 16. cách phân tích cú pháp thập phân thập phân hoặc thập phân trong Python
- 17. Chuyển đổi giữa số thập phân và cơ số 36
- 18. Biểu diễn nhị phân của một số thập phân .NET
- 19. chuyển đổi mũ để thập phân trong python
- 20. Chuyển đổi Float sang thập phân (SQL Server)
- 21. Chuyển đổi nhị phân màu xám nguyên sang JPEG
- 22. chuyển đổi dữ liệu nhị phân nhanh trong Python
- 23. Chuyển đổi từ dạng số mũ sang số thập phân trong Java
- 24. Chuyển đổi String với Dot hoặc Comma phân số thập phân đến số trong JavaScript
- 25. Chuyển đổi chuỗi giữa định dạng thập phân và định dạng nhị phân
- 26. Chuyển đổi chuỗi thập lục phân (hex) thành một chuỗi nhị phân
- 27. chuyển đổi số thập phân thành int trong C#
- 28. Làm thế nào để chuyển đổi giá trị chuỗi nhị phân để thập phân
- 29. Chuyển đổi chuỗi có chứa số thập phân thành Long
- 30. C# Chuyển đổi đối tượng thành số thập phân
Cả chữ "thập phân" lẫn "nhị phân" đều không có nghĩa là ý của bạn. –