La xaliyay: NumPy packbits Koodhka ku xidhan ee la socda dhidibka 1

NumPy waa maktabad awood badan oo ku taal Python taas oo si weyn loogu isticmaalo xisaabinta nambarada qaab dhismeedka xogta iyo jaantuska. Mid ka mid ah shaqooyinka badan ee ay bixiso waa xirmooyinka, kaas oo kuu ogolaanaya inaad si hufan u codayn karto xogta binary iyadoo la raacayo dhidibo cayiman. Maqaalkan, waxaan ku baari doonaa adeegsiga NumPy's packbits ka shaqeynta dhidibka 1, oo aan ka wada hadalno farsamooyinkeeda iyo codsiyadooda. Inta aan jidka ku jirno, waxa aanu sidoo kale u dhexgeli doonaa maktabadaha la xidhiidha iyo shaqooyinka.

Fahamka shaqada packbits ee NumPy

The xirmooyinka function in NumPy waa qalab loogu talagalay in lagu cadaadiyo xogta binary iyadoo la isku duba ridi doono kooxaha bits. Waxay si gaar ah faa'iido u leedahay markaad la shaqaynayso qaybo badan oo xogta binary ah, sababtoo ah waxay si weyn u yareeyn kartaa isticmaalka xusuusta waxayna wanaajin kartaa waxtarka koodka. Shaqadani waxay ku shaqeysaa dhidibka la cayimay, kaas oo kuu ogolaanaya inaad xakameyso jihada ay ku xiran tahay qashin-qubka.

import numpy as np

# Example binary data array
binary_data = np.array([[0, 1, 1, 0, 1, 1, 1, 1],
                        [1, 0, 0, 1, 0, 0, 0, 1]])

packed_data = np.packbits(binary_data, axis=1)
print(packed_data)

Koodhka sare wuxuu muujinayaa isticmaalka shaqada packbits si loogu xidho xogta binary ee dhidibka 1. Marka la cayimo dhidibka 1, waxaanu faraynaa NumPy inuu xidho jajabyada ku yaal tiirarka soo gelinta.

Sharaxaada tallaabo-tallaabo ee koodka

1. Marka hore, waxaan soo dejineynaa maktabadda NumPy ee loo yaqaan "np":

import numpy as np

2. Marka xigta, waxaanu abuurnaa tusaale 2D xog ururin ah, halkaas oo curiye kasta uu noqon karo 0 ama 1:

binary_data = np.array([[0, 1, 1, 0, 1, 1, 1, 1],
                        [1, 0, 0, 1, 0, 0, 0, 1]])

3. Markaa waxaanu ugu yeedhnaa shaqada packbits si aanu ugu xidhno xogta binary ee dhidibka 1:

packed_data = np.packbits(binary_data, axis=1)

4. Ugu dambayntii, waxaanu daabacnaa xogta soo koobnayd ee ka soo baxday:

print(packed_data)

Soo saarida summadani waxay noqon doontaa 2D array ka kooban xogta binary-ga ah:

[[179]
[137 17]

Tani waxay ka dhigan tahay in xogta binary ee asalka ah si hufan loogu soo xiray dhidibka la cayimay, taas oo u oggolaanaysa hoos u dhigista isticmaalka xusuusta iyo kordhinta waxqabadka.

Shaqooyinka la midka ah ee maktabadaha la xidhiidha

Marka laga reebo packbits, waxa kale oo jira hawlo kale iyo maktabado bixiya hawlo la mid ah. Tusaalayaal dhowr ah waxaa ka mid ah:

Laybareeriga binascii ee ku dhex dhisan ee Python

The binascii Maktabadu waa qayb ka mid ah maktabadda caadiga ah ee Python waxayna bixisaa habab loogu beddelo kuwa u dhexeeya binary iyo ASCII-encoded binary matalo. Mid ka mid ah hawlaha ay bixiso waa hexlif, Kaas oo loo isticmaali karo in lagu beddelo xogta binary-ga oo loo beddelo matalaad xargaha hexadecimal.

import binascii

binary_data = b'x00x01x01x00'
hex_data = binascii.hexlify(binary_data)
print(hex_data)

Tusaalahan, shaqada binascii.hexlify waxa loo istcmaalay in lagu badalo sheyga bayt ee ka kooban xogta binary loona beddelo matalida xargaha hexadecimal.

maktabadda bitarray

Maktabad kale oo faa'iido u yeelan karta ku shaqaynta xogta binary waa bitarray maktabad. Maktabadu waxay bixisa hab-dhismeed xogeed wax ku ool ah oo loo isticmaali karo in lagu maareeyo laguna kaydiyo dhawr qaybood oo waaweyn.

from bitarray import bitarray

binary_data = '01101111 10010001'
bit_array = bitarray(binary_data)
packed_data = bit_array.tobytes()
print(packed_data)

Tusaalahan, waxaanu ka abuurnaa shay bitarray xadhig binary ka dibna waxaanu isticmaalnaa habka tobytes si aanu u helno xogta baakaysan sida shay bytes ah.

Gebagebada, NumPy's packbits function waa qalab qiimo leh oo lagu geliyo xogta binary ee dhidibka la cayimay, ugu dambayntiina ka dhigaysa code-kaaga mid hufan oo kaydiya xusuusta. Intaa waxaa dheer, waxaa jira maktabado kale iyo shaqooyin, sida maktabadda binascii iyo maktabadda bitarray, kuwaas oo sidoo kale kaa caawin kara inaad ku shaqeyso xogta binary.

Related posts:

Leave a Comment