Witam. Szukam na google juz dosyc dlugo ale nie moge znalezc.
Szukam przedstawienia podstawowych 4 dzialan matematycznych w postaci operatorow logicznych(and, or xor itp.).
0
0
^MakeMeHappy kartka w dłoń i po prostu wykonaj kilka działań na liczbach binarnych.
0
Nie mam nawet pojecia od czego zaczac. A operatory logiczne znam, chodzi o to zeby za pomoca nich mnozyc dodawac odejmowac i dzielic dowolne liczby
0
Chodzi mi o to ze kiedys gdzies widzialem mnozenie takim sposobem i jakos nie moglem uwierzyc ze cos takiego mozna na kartce napisac. Bycmoze po kilku godzinach, ale ja tyle czasu nie mam, dlategotez pisze o tym tutaj.
0
Nikt nie wie?
0
uint mnozenie(uint a, uint b){
uint r=0;
while(a!=0){
if (a&1)
r= r+b;
a>>=1;
b= b+b;
}
return r;
}
0
#include <stdio.h>
typedef unsigned int uint;
uint inc(uint i){
uint k=1;
while(i&k){
i^=k;
k<<=1;
}
return i|k;
}
uint plus(uint a, uint b) {
uint r=0, c=0, i=0;
while(a|b){
uint a0=a & 1;
uint b0=b & 1;
uint s=a0^b0^c;
c=((a0^b0)&c) | (a0 & b0);
a>>=1; b>>=1;
r|=s<<i;
i=inc(i);
}
return r|c<<i;
}
uint minus(uint a, uint b){
return plus(a, plus(~b, 1));
}
uint razy(uint a, uint b){
uint r=0;
while(a!=0){
if (a&1)
r= plus(r,b);
a>>=1;
b= plus(b,b);
}
return r;
}
int main(){
printf("10+3=%3d\n", plus (10,3));
printf("10-3=%3d\n", minus(10,3));
printf("10*3=%3d\n", razy (10,3));
return 0;
}