online compiler and debugger for c/c++

code. compile. run. debug. share.
Source Code   
Language
/****************************************************************************** Online C Compiler. Code, Compile, Run and Debug C program online. Write your code in this editor and press "Run" button to compile and execute it. *******************************************************************************/ #include <stdint.h> #include <stdbool.h> #include <stdio.h> int sum(int a , int b); unsigned short int bitMul(unsigned short int a, char b); unsigned short int zMax(unsigned short int a, unsigned short int b) { int aa,bb; aa=a;//convert unsigned 16 bit to signed 32 bit bb=b;//convert unsigned 16 bit to signed 32 bit aa=sum(aa,sum(~bb,1));// subtract using two's complement --->aa=aa-bb return sum(bitMul(a,~aa>>16 &1),bitMul(b,aa>>16 &1)); // if a is les than b, so the sixteenth bit is 1, else it is 0 } int sum(int a , int b) { int carry ; carry = a & b; a = a ^ b; b=carry << 1; carry = a & b; a = a ^ b; b=carry << 1; carry = a & b; a = a ^ b; b=carry << 1; carry = a & b; a = a ^ b; b=carry << 1; carry = a & b; a = a ^ b; b=carry << 1; carry = a & b; a = a ^ b; b=carry << 1; carry = a & b; a = a ^ b; b=carry << 1; carry = a & b; a = a ^ b; b=carry << 1; carry = a & b; a = a ^ b; b=carry << 1; carry = a & b; a = a ^ b; b=carry << 1; carry = a & b; a = a ^ b; b=carry << 1; carry = a & b; a = a ^ b; b=carry << 1; carry = a & b; a = a ^ b; b=carry << 1; carry = a & b; a = a ^ b; b=carry << 1; carry = a & b; a = a ^ b; b=carry << 1; carry = a & b; a = a ^ b; return a; } unsigned short int bitMul(unsigned short int a, char b) { return (a&b | a&b<<1 | a&b<<2 | a&b<<3 | a&b<<4 | a&b<<5 | a&b<<6 | a&b<<7 | a&b<<8 | a&b<<9 | a&b<<10 | a&b<<11 | a&b<<12 | a&b<<13 | a&b<<14 | a&b<<15); } uint16_t Max(uint16_t A,uint16_t B) { return (A>B) ? A:B; } int main(void) { puts("!!!Hello World!!!\r\n"); /* prints !!!Hello World!!! */ uint16_t breakc = 0; for(int A=0;A<0xFFF;A++) { for(int B=0;B<0xFFF;B++) { if(zMax(A,B)!=Max(A,B)) { printf("A=%i,B=%i\tMax=%i\r\n",A,B,zMax(A,B)); if(breakc++>=4) { printf("\r\n END."); return 0; } } } } printf("\r\n END."); return 0; }

Compiling Program...

Command line arguments:
Standard Input: Interactive Console Text
×

                

                

Program is not being debugged. Click "Debug" button to start program in debug mode.

#FunctionFile:Line
VariableValue
RegisterValue
ExpressionValue