logo

Python'da onaltılık sayıyı ikili sayıya nasıl dönüştürebilirim?

'altıgen' için bir kısaltmadır Onaltılık . kullanılan bir numaralandırma sistemidir. 16 onun temeli olarak. Bilgisayarda ve dijital elektronikte yaygın olarak kullanılır çünkü bir şeyi temsil edebilir. bayt (8 bit) Verilerin yalnızca iki basamaklı olması, ikiliye göre daha kısa ve okunmasını kolaylaştırır. Onaltılı sistemde rakamlar 0-9 harfler kendi değerlerini temsil ederken, harfler A-F (veya a-f) değerleri temsil etmek 10-15 , sırasıyla.

python dosyasına json yaz

Yöntem 1: bin() işlevini kullanma

Python'da onaltılı sayıyı ikili sayıya dönüştürmek, adı verilen yerleşik bir işlev kullanılarak yapılabilir. çöp Kutusu() . Bu işlev girdi olarak bir tamsayı veya dize alır ve bunun ikili eşdeğerini döndürür.

Örnek:

 # Define a hexadecimal string hex_string = '1A' # Convert the hexadecimal string to an integer using the base 16 hex_integer = int(hex_string, 16) # Convert the integer to binary using the bin() function binary_string = bin(hex_integer) # Remove the '0b' prefix from the binary string binary_string = binary_string[2:] # Print the binary string print(binary_string) 

Çıktı:

 11010 

Yöntem 2: Bitsel Operatörleri Kullanma

Python yerleşik sağlar bitsel operatörler ikili verileri işlemek için kullanılabilir. Bu operatörleri, önce dizeyi bir tam sayıya dönüştürerek ve ardından ikili rakamları çıkarmak için bit düzeyinde işlemleri kullanarak onaltılık bir dizeyi ikiliye dönüştürmek için kullanabilirsiniz.

Örnek:

Örnek bir kod pasajını burada bulabilirsiniz:

 # Define a hexadecimal string hex_string = '1F' # Convert the hexadecimal string to an integer using the base 16 hex_integer = int(hex_string, 16) # Convert the integer to binary using bitwise operators binary_string = format(hex_integer, 'b') # Print the binary string print(binary_string) 

Çıktı:

 11111 

Açıklama:

Bu kodda, ilk önce onaltılık dizgeyi aşağıdakileri kullanarak bir tamsayıya dönüştürüyoruz: int() baza ayarlıyken çalışır 16 . Bundan sonra şunu kullanıyoruz: biçim() biçim belirticiyle işlev 'B' tamsayıyı ikili dizgeye dönüştürmek için. biçim() işlevi, ikili değeri temsil etmek için gerektiği şekilde başında sıfır bulunan bir dize döndürür. Son olarak ikili dizeyi yazdırıyoruz.

Yöntem 3: Binascii Modülünden hex2bin() İşlevini Kullanma

Python'un binascii modül sağlar hex2bin() Onaltılık bir dizeyi ikiliye dönüştürmek için kullanılabilecek işlev.

Gimp rengini değiştir

Örnek:

Örnek bir kod pasajını burada bulabilirsiniz:

 # Import the binascii module import binascii # Define a hexadecimal string hex_string = '1A' # Convert the hexadecimal string to binary using the binascii.unhexlify() function binary_string = bin(int.from_bytes(binascii.unhexlify(hex_string), byteorder='big')) # Print the binary string print(binary_string) 

Çıktı:

 0b11010 

Açıklama:

Bu kodda öncelikle içe aktarıyoruz. binascii modülü. Daha sonra dönüştürmek istediğimiz hexadecimal string’i tanımlıyoruz. Onaltılık dizeyi şuraya iletiyoruz: binascii.unhexlify() onu bir bayt nesnesine dönüştürmek için işlev. Bundan sonra bayt nesnesini kullanarak bir tamsayıya dönüştürürüz. int.from_bytes() bayt sırası şu şekilde ayarlanmış olarak işlev 'büyük' (önce en anlamlı bayt). Son olarak tamsayıyı aktarıyoruz çöp Kutusu() ikili dize gösterimini elde etmek için işlev.

Not: bin() işlevi '0b' önekiyle ikili dizeyi döndürür. Ön eki kaldırmak istiyorsanız dize dilimlemeyi kullanabilirsiniz.

Yöntem 4: Liste Anlama ve Dize Biçimlendirmesini Kullanma

Onaltılık bir dizeyi ikili sayıya dönüştürebiliriz. liste anlama dizedeki her onaltılık basamak üzerinde yinelenir ve dize biçimlendirmesini kullanarak onu ikili eşdeğerine dönüştürür.

Örnek:

 # Define a hexadecimal string hex_string = '1A' # Convert the hexadecimal string to binary using a list comprehension and string formatting binary_string = ''.join(['{0:04b}'.format(int(d, 16)) for d in hex_string]) # Print the binary string print(binary_string) 

Çıktı:

 00011010 

Açıklama:

Bu kodda öncelikle dönüştürmek istediğimiz hexadecimal stringi tanımlıyoruz. Bundan sonra bir kullanıyoruz liste anlama dizedeki her onaltılık basamak üzerinde yineleme yapmak için. Her rakamı aşağıdaki formülü kullanarak bir tam sayıya dönüştürürüz: int() baza ayarlıyken çalışır 16 ve ardından onu ikili dize olarak biçimlendirin 4 hane kullanmak '{0:04b}'.format() dize biçimlendirme sözdizimi. Ortaya çıkan ikili diziler bir listede toplanır ve daha sonra bu liste, aşağıdaki komut kullanılarak tek bir dize halinde birleştirilir: ''.katılmak() işlev.

Yöntem 5: NumPy Kitaplığını Kullanma

Eğer sahipsen NumPy kütüphanesi yüklüyse kullanabilirsiniz numpy.base_repr() Onaltılık bir dizeyi ikiliye dönüştürme işlevi.

Örnek:

 # Import the numpy library import numpy as np # Define a hexadecimal string hex_string = '1A' # Convert the hexadecimal string to binary using the numpy.base_repr() function binary_string = np.base_repr(int(hex_string, 16), base=2) # Print the binary string print(binary_string) 

Çıktı:

öncelik kuyruğu c++
 11010 

Not: Numpy.base_repr() işlevi, yerleşik bin() işlevinden farklı olarak, herhangi bir önek veya baştaki sıfırlar olmadan ikili dizeyi döndürür.