string = input("Bir string giriniz:")
number = 0
for index in range(0, len(string)):
number += ord(string[index]) * pow(2, 8 * index)
bitLen = int(log(number, 2)) + 1
print(f"Toplam Kaç bit:{bitLen}", f"Number Sayısının binary Hali:{bin(number)}", sep="\n")
for bitIndex in range(bitLen - 1, -1, -1):
shiftRight = number >> bitIndex
bitValue = shiftRight & 1
if bitValue == 1:
print("*", end="")
else:
print("-", end="")
Bu kodun genel mantığı şu siz bir kelime girersiniz o kelimenin bit dizilimi oluşur bit 0 ise - yazar bit 1 ise * yazar.
Arkadaşlar bu kod içindeki
number += ord(string[index]) * pow(2, 8 * index)
ifadesini bir türlü anlayamıyorum çıldımak üzereyim. Neden pow(2, 8 * index) işlemi yapıp ayrı olarak tek bir number sayısı oluşturuyoruz. Kafam çok dumanlı!