Golf oynamaktan hoşlanıyorum dc
, ama bazen sinirli oluyorum çünkü dc
bitsel operasyonları yok.
Meydan okuma
C bitsel operasyonların eşdeğer uygulamak dört adlandırılmış işlevleri sağlayın &
, |
, ~
ve ^
(ikilik VE, VEYA, DEĞİL ve XOR). Her işlev ~
, en az 32 bit işaretsiz tam sayı olan iki işlenen alır ( yalnızca bir tane alır). Her işlev, işlenenlerle aynı bit genişliğinde işaretsiz bir tamsayı döndürür.
kısıtlama
Yalnızca tarafından desteklenen işlemleri kullanabilirsiniz dc
. Bunlar:
+
-
*
/
Aritmetik toplama, çıkarma, çarpma ve bölme~
modulo (veya diliniz destekliyorsa divmod)^
üstalma|
modüler üs almav
kare kök>
>=
==
!=
<=
<
standart eşitlik / eşitsizlik operatörleri>>
<<
bit kaydırma operatörleri.dc
bunlara sahip değil, ama önemsiz bir şekilde 2 güç ile bölünme / çarpma açısından uygulandığından, bunlara izin vereceğim.
Kontrol yapıları dc
(özyinelemeli) makrolar ve (in) eşitlik işlemleri kullanılarak beceriksizce inşa edilebilir. Dilinizin sahip olduğu yerleşik kontrol yapılarını kullanabilirsiniz.
Sen de mantıksal operatörler kullanabilir &&
||
!
bu doğrudan kullanılamaz halde dc
.
Sen bitsel operatörleri kullanmamalıdır &
, |
, ~
ve ^
ya trivially bunları uygulamak herhangi bir işlev.
Ayrıca, dize işleçlerinin veya işlevlerinin yerleşik temel dönüşümünü kullanmamalısınız.
Lütfen yanıtınızı doğrulamaya yardımcı olması için bir test programı veya çevrimiçi derleyici snippet'i (golf skoruna dahil değildir) sağlamayı düşünün.