לדלג לתוכן

0.3 מושגי בסיס פתרון

פתרון

תרגיל 1: המרת מספרים בינאריים לדצימליים

המרת מספר בינארי לדצימלי מתבצעת באמצעות חישוב כל ספרה לפי 2 בחזקת המיקום שלה (מהימין לשמאל, החל מ-0).

  1. 101110

Pasted image 20250124184832.png
2. 1111011

Pasted image 20250124184839.png
3. 10011010

Pasted image 20250124184854.png
4. 110010

Pasted image 20250124184901.png


תרגיל 2: יצירת מחרוזת מביטים בשיטת ASCII

נשתמש בפייתון כדי להמיר מחרוזת למערך של בתים לפי טבלת ASCII:

def string_to_ascii_binary(s):
    return " ".join(format(ord(char), '08b') for char in s)

words = ["Hello", "World", "Python", "Security"]

for word in words:
    print(f"{word}: {string_to_ascii_binary(word)}")

פלט לדוגמה:

Hello: 01001000 01100101 01101100 01101100 01101111  
World: 01010111 01101111 01110010 01101100 01100100  
Python: 01010000 01111001 01110100 01101000 01101111 01101110  
Security: 01010011 01100101 01100011 01110101 01110010 01101001 01110100 01111001  

כדי להמיר בחזרה:

def binary_to_string(binary_str):
    return "".join(chr(int(b, 2)) for b in binary_str.split())

binary_hello = "01001000 01100101 01101100 01101100 01101111"
print(binary_to_string(binary_hello))  # Hello

תרגיל 3: המרת בין בסיסים שונים בפייתון

num = 245

binary_representation = bin(num)  # '0b11110101'
hex_representation = hex(num)  # '0xf5'

print(f"בינארי: {binary_representation[2:]}")
print(f"הקסדצימלי: {hex_representation[2:]}")

פלט:

בינארי: 11110101  
הקסדצימלי: f5