Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- unsigned int umultiply(unsigned int a, unsigned int b) {
- int out = 0;
- int binaryA[8 * sizeof(unsigned int)];
- int binaryB[8 * sizeof(unsigned int)];
- unsigned int final = 0;
- int size = 8 * sizeof(unsigned int);
- for(int i = 0; i < size; i++) {
- binaryA[size - i - 1] = (a >> i) & 1;
- binaryB[size - i - 1] = (b >> i) & 1;
- }
- for(int i = size - 1; i >= 0; i--) {
- if((a >> i) & 1) {
- final += b;
- }
- final = final << 1;
- }
- final = final >> 1;
- return final;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement