Hướng dẫn binary string to int python - chuỗi nhị phân thành int python

Tôi chỉ muốn chuyển đổi chuỗi nhị phân cơ sở-2 thành int, một cái gì đó như thế này:

>>> '11111111'.fromBinaryToInt()
255

Có cách nào để làm điều này trong Python không?

Hướng dẫn binary string to int python - chuỗi nhị phân thành int python

hỏi ngày 19 tháng 1 năm 2012 lúc 15:01Jan 19, 2012 at 15:01

Naftuli Kaynaftuli KayNaftuli Kay

84.9K88 Huy hiệu vàng260 Huy hiệu bạc397 Huy hiệu đồng88 gold badges260 silver badges397 bronze badges

2

Bạn sử dụng hàm

>>> int('11111111', 2)
255
4 tích hợp và chuyển nó cơ sở của số đầu vào, tức là
>>> int('11111111', 2)
255
5 cho một số nhị phân:

>>> int('11111111', 2)
255

Dưới đây là tài liệu cho Python 2 và cho Python 3.

Đã trả lời ngày 19 tháng 1 năm 2012 lúc 15:02Jan 19, 2012 at 15:02

6

Chỉ cần nhập 0b11111111 trong giao diện tương tác Python:0b11111111 in python interactive interface:

>>> 0b11111111
    255

Đã trả lời ngày 27 tháng 1 năm 2015 lúc 4:00Jan 27, 2015 at 4:00

Hướng dẫn binary string to int python - chuỗi nhị phân thành int python

LengxueHXlengxueHXlengxuehx

1.4501 Huy hiệu vàng18 Huy hiệu bạc23 Huy hiệu đồng1 gold badge18 silver badges23 bronze badges

Một cách khác để làm điều này là bằng cách sử dụng mô -đun

>>> int('11111111', 2)
255
6:

>>> from bitstring import BitArray
>>> b = BitArray(bin='11111111')
>>> b.uint
255

Lưu ý rằng số nguyên không dấu khác với số nguyên đã ký:

>>> b.int
-1

Mô -đun

>>> int('11111111', 2)
255
6 không phải là một yêu cầu, nhưng nó có rất nhiều phương pháp thực hiện để biến đầu vào thành và từ các bit thành các hình thức khác, cũng như thao túng chúng.

Hướng dẫn binary string to int python - chuỗi nhị phân thành int python

Đã trả lời ngày 19 tháng 1 năm 2012 lúc 15:06Jan 19, 2012 at 15:06

Alex Reynoldsalex ReynoldAlex Reynolds

95.2K53 Huy hiệu vàng236 Huy hiệu bạc342 Huy hiệu Đồng53 gold badges236 silver badges342 bronze badges

Sử dụng INT với cơ sở là cách đúng đắn để đi. Tôi đã từng làm điều này trước khi tôi tìm thấy int cũng có cơ sở. Về cơ bản, nó là giảm áp dụng cho danh sách hiểu về cách nguyên thủy để chuyển đổi nhị phân thành thập phân (ví dụ: 110 = 2 ** 0 * 0 + 2 ** 1 * 1 + 2 ** 2 * 1)

add = lambda x,y : x + y
reduce(add, [int(x) * 2 ** y for x, y in zip(list(binstr), range(len(binstr) - 1, -1, -1))])

Đã trả lời ngày 8 tháng 5 năm 2013 lúc 13:04May 8, 2013 at 13:04

1

Nếu bạn muốn biết những gì đang xảy ra đằng sau hiện trường, thì bạn sẽ đến đây.

class Binary():
    def __init__(self, binNumber):
        self._binNumber = binNumber
        self._binNumber = self._binNumber[::-1]
        self._binNumber = list(self._binNumber)
        self._x = [1]
        self._count = 1
        self._change = 2
        self._amount = 0
        print(self._ToNumber(self._binNumber))
    def _ToNumber(self, number):
        self._number = number
        for i in range (1, len (self._number)):
            self._total = self._count * self._change
            self._count = self._total
            self._x.append(self._count)
        self._deep = zip(self._number, self._x)
        for self._k, self._v in self._deep:
            if self._k == '1':
                self._amount += self._v
        return self._amount

mo = Binary('101111110')

Hướng dẫn binary string to int python - chuỗi nhị phân thành int python

mkrieger1

16.1k4 Huy hiệu vàng50 Huy hiệu bạc58 Huy hiệu đồng4 gold badges50 silver badges58 bronze badges

Đã trả lời ngày 16 tháng 11 năm 2016 lúc 7:10Nov 16, 2016 at 7:10

Đây là một cách ngắn gọn khác để thực hiện nó không được đề cập trong bất kỳ câu trả lời nào ở trên:

>>> eval('0b' + '11111111')
255

Phải thừa nhận rằng, có lẽ nó không nhanh lắm và đó là một ý tưởng rất tệ nếu chuỗi đến từ thứ mà bạn không kiểm soát được điều đó có thể là độc hại (chẳng hạn như đầu vào của người dùng), nhưng vì tính đầy đủ, nó hoạt động.

Đã trả lời ngày 27 tháng 10 năm 2021 lúc 2:33Oct 27, 2021 at 2:33

2

Thực hiện Python đệ quy:

def int2bin(n):
    return int2bin(n >> 1) + [n & 1] if n > 1 else [1] 

Hướng dẫn binary string to int python - chuỗi nhị phân thành int python

Pang

9.254146 Huy hiệu vàng85 Huy hiệu bạc120 Huy hiệu đồng146 gold badges85 silver badges120 bronze badges

Đã trả lời ngày 23 tháng 3 năm 2018 lúc 4:32Mar 23, 2018 at 4:32

Hướng dẫn binary string to int python - chuỗi nhị phân thành int python

Nếu bạn đang sử dụng Python3.6 trở lên, bạn có thể sử dụng F-String để thực hiện chuyển đổi:

Nhị phân đến thập phân:

>>> print(f'{0b1011010:#0}')
90

>>> bin_2_decimal = int(f'{0b1011010:#0}')
>>> bin_2_decimal
90

nhị phân đến octal hexa và v.v.

>>> int('11111111', 2)
255
0

Hãy chú ý đến 2 mẩu thông tin được phân tách bằng đại tràng.

Theo cách này, bạn có thể chuyển đổi giữa {nhị phân, bát phân, thập lục phân, số thập phân} thành {nhị phân, bát phân, thập lục phân, số thập phân} bằng cách thay đổi bên phải của đại tràng [:]

>>> int('11111111', 2)
255
1

Hãy thử thay đổi phía bên trái của đại tràng để có octal/thập lục phân/thập phân.

Đã trả lời ngày 31 tháng 10 năm 2019 lúc 0:28Oct 31, 2019 at 0:28

Hướng dẫn binary string to int python - chuỗi nhị phân thành int python

Robert Ranjanrobert RanjanRobert Ranjan

1.3941 Huy hiệu vàng18 Huy hiệu bạc16 Huy hiệu đồng1 gold badge18 silver badges16 bronze badges

Đối với ma trận lớn (10 ** 5 hàng trở lên), tốt hơn là sử dụng một matmult vector hóa. Vượt qua tất cả các hàng và col trong một phát. Nó là vô cùng nhanh chóng. Không có vòng lặp trong Python ở đây. Ban đầu tôi đã thiết kế nó để chuyển đổi nhiều cột nhị phân như 0/1 cho 10 cột thể loại khác nhau trong Movielens thành một số nguyên duy nhất cho mỗi hàng ví dụ.

>>> int('11111111', 2)
255
2

Đã trả lời ngày 13 tháng 1 năm 2020 lúc 18:19Jan 13, 2020 at 18:19

Để hồ sơ đi qua lại trong Python3 cơ bản:

>>> int('11111111', 2)
255
3

Đã trả lời ngày 16 tháng 2 năm 2021 lúc 8:53Feb 16, 2021 at 8:53

ClementWalterClementwalterClementWalter

4.3841 Huy hiệu vàng25 Huy hiệu bạc47 Huy hiệu đồng1 gold badge25 silver badges47 bronze badges

Bạn có thể chuyển đổi chuỗi thành INT không?

Sử dụng Integer.ParseInt () để chuyển đổi chuỗi thành số nguyên Phương thức này trả về chuỗi dưới dạng loại nguyên thủy int. This method returns the string as a primitive type int.

Các giá trị chuỗi có thể được chuyển đổi thành int python không?

Trong Python, một chuỗi có thể được chuyển đổi thành một số nguyên bằng hàm int () tích hợp.Hàm int () có trong bất kỳ loại dữ liệu python nào và chuyển đổi nó thành một số nguyên.an strings can be converted into a integer using the built-in int() function. The int() function takes in any python data type and converts it into a integer.

Số nhị phân có phải là chuỗi trong Python không?

Khoa học dữ liệu thực tế bằng cách sử dụng Python, chúng tôi gọi là các chuỗi như chuỗi nhị phân.Nếu nó có bất kỳ chữ số nào khác như 2 hoặc 3, v.v., chúng tôi phân loại nó thành một chuỗi không nhị phân.We call such strings as binary strings. If it has any other digit like 2 or 3 etc., we classify it as a non-binary string.

Hàm bin trong Python là gì?

Hàm Python bin () Hàm bin () trả về phiên bản nhị phân của một số nguyên được chỉ định.Kết quả sẽ luôn bắt đầu với tiền tố 0b.returns the binary version of a specified integer. The result will always start with the prefix 0b .