logo

כיצד להמיר הקסדצימלי לבינארי בפיתון?

ה 'hex' הוא קיצור של הקסדצימלי . זוהי מערכת מספור שמשתמשת 16 כבסיס שלו. הוא נפוץ בשימוש במחשוב ובאלקטרוניקה דיגיטלית מכיוון שהוא יכול לייצג א בייט (8 סיביות) של נתונים עם שתי ספרות בלבד, מה שהופך אותם לתמציתיים וקלים יותר לקריאה מאשר בינאריים. בהקסדצימלי, הספרות 0-9 מייצגים את הערכים שלהם, בעוד האותיות A-F (או A-F) מייצגים ערכים 10-15 , בהתאמה.

טבלה בתגובה

שיטה 1: שימוש בפונקציה bin()

המרת הקסדצימלית לבינארית בפייתון יכולה להיעשות באמצעות פונקציה מובנית בשם פַּח() . פונקציה זו לוקחת מספר שלם או מחרוזת כקלט ומחזירה את המקבילה הבינארית שלה.

דוגמא:

 # 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) 

תְפוּקָה:

 11010 

שיטה 2: שימוש באופרטורים של Bitwise

Python מספק מובנה אופרטורים סיביים שניתן להשתמש בהם כדי לתפעל נתונים בינאריים. אתה יכול להשתמש באופרטורים אלה כדי להמיר מחרוזת הקסדצימלית לבינארי על ידי המרת המחרוזת למספר שלם, ולאחר מכן שימוש בפעולות סיביות כדי לחלץ את הספרות הבינאריות.

דוגמא:

הנה קטע קוד לדוגמה:

 # 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) 

תְפוּקָה:

 11111 

הֶסבֵּר:

בקוד זה, אנו ממירים תחילה את המחרוזת ההקסדצימלית למספר שלם באמצעות ה- int() פונקציה כאשר הבסיס מוגדר ל 16 . לאחר מכן, אנו משתמשים ב- פוּרמָט() פונקציה עם מפרט הפורמט 'ב' כדי להמיר את המספר השלם למחרוזת בינארית. ה פוּרמָט() הפונקציה מחזירה מחרוזת עם אפסים מובילים לפי הצורך כדי לייצג את הערך הבינארי. לבסוף, אנו מדפיסים את המחרוזת הבינארית.

שיטה 3: שימוש בפונקציה hex2bin() מ-binascii Module

של פייתון binascii מודול מספק א hex2bin() פונקציה שניתן להשתמש בה כדי להמיר מחרוזת הקסדצימלית לבינארי.

דוגמא:

הנה קטע קוד לדוגמה:

קבוע java
 # 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) 

תְפוּקָה:

 0b11010 

הֶסבֵּר:

בקוד זה, אנו מייבאים תחילה את binascii מודול. לאחר מכן, נגדיר את המחרוזת ההקסדצימלית שברצוננו להמיר. אנו מעבירים את המחרוזת ההקסדצימלית ל binascii.unhexlify() פונקציה להמרתו לאובייקט בתים. לאחר מכן, אנו ממירים את אובייקט ה-byte למספר שלם באמצעות ה- int.from_bytes() פונקציה, כאשר סדר הבתים מוגדר ל 'גָדוֹל' (הבייט המשמעותי ביותר ראשון). לבסוף, אנו מעבירים את המספר השלם ל- פַּח() פונקציה כדי לקבל את ייצוג המחרוזת הבינארית.

הערה: הפונקציה bin() מחזירה את המחרוזת הבינארית עם קידומת '0b'. אם אתה רוצה להסיר את הקידומת, אתה יכול להשתמש בחיתוך מחרוזת.

שיטה 4: שימוש בהבנת רשימה ועיצוב מחרוזת

אנו יכולים להמיר מחרוזת הקסדצימלית לבינארי באמצעות a הבנת רשימה החוזר על כל ספרה הקסדצימלית במחרוזת וממיר אותה למקבילה הבינארית שלה באמצעות עיצוב מחרוזת.

דוגמא:

 # 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) 

תְפוּקָה:

 00011010 

הֶסבֵּר:

בקוד זה, אנו מגדירים תחילה את המחרוזת ההקסדצימלית שברצוננו להמיר. לאחר מכן, אנו משתמשים ב-a הבנת רשימה לחזור על כל ספרה הקסדצימלית במחרוזת. עבור כל ספרה, אנו ממירים אותה למספר שלם באמצעות ה- int() פונקציה כאשר הבסיס מוגדר ל 16 , ולאחר מכן עצב אותו כמחרוזת בינארית עם 4 ספרות משתמש ב '{0:04b}'.format() תחביר עיצוב מחרוזת. המחרוזות הבינאריות המתקבלות נאספות לרשימה, אשר לאחר מכן מחוברת יחד למחרוזת יחידה באמצעות ''.לְהִצְטַרֵף() פוּנקצִיָה.

שירותי אינטרנט java

שיטה 5: שימוש בספריית NumPy

אם יש לך את ספריית NumPy מותקן, אתה יכול להשתמש ב- numpy.base_repr() פונקציה להמרת מחרוזת הקסדצימלית לבינארית.

דוגמא:

 # 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) 

תְפוּקָה:

 11010 

הערה: הפונקציה numpy.base_repr() מחזירה את המחרוזת הבינארית ללא כל קידומת או אפסים מובילים, בניגוד לפונקציה המובנית bin() .