Logiczne dzialania matematyczne

0

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

^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;
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1