Aşağıdaki XKCD çizgi romanından esinlenmiştir:
Missy Elliot'un "Work It" filminde koronun bir kısmı şöyle:
Is it worth it, let me work it
I put my thing down, flip it and reverse it
Bunu göz önünde bulundurarak, aşağıdaki kod golf mücadelesini öneriyorum:
Sırasıyla aşağıdakileri yapan bir kod oluşturun:
- STDIN'den 8-bit ASCII girişi alır; ör.
n
(Hex 6E veya Kutu 01101110) - Her bir baytın 8 bitini 1 bit seviyesinde kaydırır (bunun bitsel aşağı kaydırma olarak adlandırıldığına inanıyorum), örneğin
01101110
olur00110111
("işimi indir"); - Her baytın bitlerini tersine çevirir, örneğin
00110111
olur11001000
("çevir"); - Her bayt için bitleri tersine çevirir, örneğin
11001000
olur00010011
("tersine çevir"); - Bir baytın değeri 32'den küçükse, ASCII'ye dönüştürmeden önce bayt üzerinde
(95 + [byte value])
veya başka bir deyişle(126-(31-[byte value]))
bayt üzerinde gerçekleştirin ... Bayt değeri hala 32'den küçükse, 5. adımı tekrarlayın. - Bir baytın değeri 126'dan büyükse, ASCII'ye dönmeden önce bayt üzerinde
([byte value] - 95)
veya başka bir deyişle(32+([byte value]-127))
bayt üzerinde gerçekleştirin ... Değer hala 126'dan büyükse, 6. adımı tekrarlayın. - Yeni dönüştürülen dizeyi ASCII olarak görüntüler.
Uygulamada bu kodun bir örneği:
(Girdi, buna değer mi?)
workit missy
("missy" girdi, "workit" işlevdir)
Şimdi perde arkasında ...
(çalışmama izin ver ... İkiliye)
01101101 01101001 01110011 01110011 01111001
(Eşyamı indir ... Bitwise)
00110110 00110100 00111001 00111001 00111100
(...Çevir onu...)
11001001 11001011 11000110 11000110 11000011
(... Ve tersine çevir!)
10010011 11010011 01100011 01100011 11000011
(Ondalık biçime geri dönüştürüldü)
147 211 99 99 195
(Gerekli matematiği yapın)
147-95 211-95 99 99 195-95 => 52 116 99 99 100
(ASCII'ye dönüştür ve ekran, çıkış)
4tccd
kurallar
- En kısa kod kazanır ... bu kadar basit ...
- Kural 1'in sizin için "çalışmasını" sağlayabildiğiniz sürece, giriş, işlev yoluyla, istemle veya sizin için neyin işe yaradığı olabilir ...;)
- Geri dönüşümden sonra değilim, kodun yapmasını istediğim şeyi yapmasını sağlayabildiğim sürece mutlu olacağım ...
İyi şanslar!
0 1 1 0 1 1 0 1
ve 0 1 1 0 1 0 0 1
içinmi
P
bayt değerine dönüşür 235
ve çıkarma 95
sizi bırakır 140
. Hala yazdırılamıyor. Yoksa yanlış mı anladım?