27 Temmuz 2012, Cuma
*, /, , -, % Operatörleri kullanmadan 3 Bir Numara bölmek
Nasıl, , , *, %
, *-
/
1 operatörler kullanmadan 3 Bir Numara bölmek ister misin?
Numarasını imzalı veya imzasız olabilir.
CEVAP
27 Temmuz 2012, Cuma
Bu istenilen işlemi yapar simple function.Ama
operatör, yapmanız gereken tüm bit operatörleri ile: değerler eklemektir gerektirir
// replaces the operator
int add(int x, int y) {
while(x) {
int t = (x & y) <<1;
y ^= x;
x = t;
}
return y;
}
int divideby3 (int num) {
int sum = 0;
while (num > 3) {
sum = add(num >> 2, sum);
num = add(num >> 2, num & 3);
}
if (num == 3)
sum = add(sum, 1);
return sum;
}
Olarak Jim çünkü bu eserler yorumladı:
n = 4 * a b
n / 3 = a (a b) / 3
So sum = a, n = a b
ve yinelemeZaman *yani 1,* 13 ** 12 11**
Bunu Paylaş:
C bir dize bölmek ?...
Bir kodlama kullanmadan bayt dizisi iç...
Bit shift (bit-shift) operatörleri ned...
Nasıl Bash ayırıcı üzerinde bir dize b...
Java nasıl bir dize bölmek...