sGirdi olarak yazdırılabilir ASCII karakterleri içeren bir dize alın ve "ikili bölünme toplamını" çıktılayın. Bir açıklamaya mı ihtiyacınız var?
İkili bölünmüş toplamı nasıl elde edersiniz?
A4Aşağıdaki açıklamada dizeyi örnek olarak kullanacağız .
Her harfi 7 bit ASCII karakteri olarak ele alarak karakterleri ikiliye dönüştürün
A -> ASCII 65 -> 1000001 4 -> ASCII 52 -> 0110100İkili sayıları yeni bir ikili sayı ile birleştir
A4 -> 1000001 & 0110100 -> 10000010110100Yeni ikili sayıyı, hiçbirinin soluna
1sahip olamayacağı parçalara bölün0. Ardışık1s'yi bölmemelisiniz.10000010110100 -> 100000, 10, 110, 100Bu ikili sayıları ondalık sayıya dönüştür
100000, 10, 110, 100 -> 32, 2, 6, 4Bu sayıların toplamını al:
32 + 2 + 6 + 4 = 44
Yani, dize için çıktı A4olmalıdır 44.
Test durumları:
a
49
A4
44
codegolf
570
Hello, World!
795
8372aslında.