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> bool comp(uint16_t x, uint16_t y); uint16_t zMax(uint16_t x, uint16_t y) { //uint16_t z=(x<y); uint16_t z=comp(x,y); z=z|z<<1|z<<2|z<<3|z<<4|z<<5|z<<6|z<<7|z<<8|z<<9|z<<10|z<<11|z<<12|z<<13|z<<14|z<<15; return x^((y^x)&z); } bool comp(uint16_t x, uint16_t y) // returns y>x { bool x_bits[16]={x,x>>1,x>>2,x>>3,x>>4,x>>5,x>>6,x>>7, x>>8,x>>9,x>>10,x>>11,x>>12,x>>13,x>>14,x>>15}; bool y_bits[16]={y,y>>1,y>>2,y>>3,y>>4,y>>5,y>>6,y>>7, y>>8,y>>9,y>>10,y>>11,y>>12,y>>13,y>>14,y>>15}; return ( y_bits[15]&&!x_bits[15] || y_bits[14]&&!x_bits[14] && !(y_bits[15] ^ x_bits[15]) || y_bits[13]&&!x_bits[13] && !(y_bits[15] ^ x_bits[15]) && !(y_bits[14] ^ x_bits[14])|| y_bits[12]&&!x_bits[12] && !(y_bits[15] ^ x_bits[15])&& !(y_bits[14] ^ x_bits[14])&& !(y_bits[13] ^ x_bits[13])|| y_bits[11]&&!x_bits[11] && !(y_bits[15] ^ x_bits[15])&& !(y_bits[14] ^ x_bits[14])&& !(y_bits[13] ^ x_bits[13])&& !(y_bits[12] ^ x_bits[12])|| y_bits[10]&&!x_bits[10] && !(y_bits[15] ^ x_bits[15])&& !(y_bits[14] ^ x_bits[14])&& !(y_bits[13] ^ x_bits[13])&& !(y_bits[12] ^ x_bits[12])&& !(y_bits[11] ^ x_bits[11])|| y_bits[9]&&!x_bits[9] && !(y_bits[15] ^ x_bits[15])&& !(y_bits[14] ^ x_bits[14])&& !(y_bits[13] ^ x_bits[13])&& !(y_bits[12] ^ x_bits[12])&& !(y_bits[11] ^ x_bits[11])&& !(y_bits[10] ^ x_bits[10])|| y_bits[8]&&!x_bits[8] && !(y_bits[15] ^ x_bits[15])&& !(y_bits[14] ^ x_bits[14])&& !(y_bits[13] ^ x_bits[13])&& !(y_bits[12] ^ x_bits[12])&& !(y_bits[11] ^ x_bits[11])&& !(y_bits[10] ^ x_bits[10])&& !(y_bits[9] ^ x_bits[9])|| y_bits[7]&&!x_bits[7] && !(y_bits[15] ^ x_bits[15])&& !(y_bits[14] ^ x_bits[14])&& !(y_bits[13] ^ x_bits[13])&& !(y_bits[12] ^ x_bits[12])&& !(y_bits[11] ^ x_bits[11])&& !(y_bits[10] ^ x_bits[10])&& !(y_bits[9] ^ x_bits[9])&& !(y_bits[8] ^ x_bits[8])|| y_bits[6]&&!x_bits[6] && !(y_bits[15] ^ x_bits[15])&& !(y_bits[14] ^ x_bits[14])&& !(y_bits[13] ^ x_bits[13])&& !(y_bits[12] ^ x_bits[12])&& !(y_bits[11] ^ x_bits[11])&& !(y_bits[10] ^ x_bits[10])&& !(y_bits[9] ^ x_bits[9])&& !(y_bits[8] ^ x_bits[8])&& !(y_bits[7] ^ x_bits[7])|| y_bits[5]&&!x_bits[5] && !(y_bits[15] ^ x_bits[15])&& !(y_bits[14] ^ x_bits[14])&& !(y_bits[13] ^ x_bits[13])&& !(y_bits[12] ^ x_bits[12])&& !(y_bits[11] ^ x_bits[11])&& !(y_bits[10] ^ x_bits[10])&& !(y_bits[9] ^ x_bits[9])&& !(y_bits[8] ^ x_bits[8])&& !(y_bits[7] ^ x_bits[7]) && !(y_bits[6] ^ x_bits[6]) || y_bits[4]&&!x_bits[4] && !(y_bits[15] ^ x_bits[15])&& !(y_bits[14] ^ x_bits[14])&& !(y_bits[13] ^ x_bits[13])&& !(y_bits[12] ^ x_bits[12])&& !(y_bits[11] ^ x_bits[11])&& !(y_bits[10] ^ x_bits[10])&& !(y_bits[9] ^ x_bits[9])&& !(y_bits[8] ^ x_bits[8])&& !(y_bits[7] ^ x_bits[7]) && !(y_bits[6] ^ x_bits[6]) && !(y_bits[5] ^ x_bits[5])|| y_bits[3]&&!x_bits[3] && !(y_bits[15] ^ x_bits[15])&& !(y_bits[14] ^ x_bits[14])&& !(y_bits[13] ^ x_bits[13])&& !(y_bits[12] ^ x_bits[12])&& !(y_bits[11] ^ x_bits[11])&& !(y_bits[10] ^ x_bits[10])&& !(y_bits[9] ^ x_bits[9])&& !(y_bits[8] ^ x_bits[8])&& !(y_bits[7] ^ x_bits[7]) && !(y_bits[6] ^ x_bits[6]) && !(y_bits[5] ^ x_bits[5])&& !(y_bits[4] ^ x_bits[4])|| y_bits[2]&&!x_bits[2] && !(y_bits[15] ^ x_bits[15])&& !(y_bits[14] ^ x_bits[14])&& !(y_bits[13] ^ x_bits[13])&& !(y_bits[12] ^ x_bits[12])&& !(y_bits[11] ^ x_bits[11])&& !(y_bits[10] ^ x_bits[10])&& !(y_bits[9] ^ x_bits[9])&& !(y_bits[8] ^ x_bits[8])&& !(y_bits[7] ^ x_bits[7]) && !(y_bits[6] ^ x_bits[6]) && !(y_bits[5] ^ x_bits[5])&& !(y_bits[4] ^ x_bits[4])&& !(y_bits[3] ^ x_bits[3])|| y_bits[1]&&!x_bits[1] && !(y_bits[15] ^ x_bits[15])&& !(y_bits[14] ^ x_bits[14])&& !(y_bits[13] ^ x_bits[13])&& !(y_bits[12] ^ x_bits[12])&& !(y_bits[11] ^ x_bits[11])&& !(y_bits[10] ^ x_bits[10])&& !(y_bits[9] ^ x_bits[9])&& !(y_bits[8] ^ x_bits[8])&& !(y_bits[7] ^ x_bits[7]) && !(y_bits[6] ^ x_bits[6]) && !(y_bits[5] ^ x_bits[5])&& !(y_bits[4] ^ x_bits[4])&& !(y_bits[3] ^ x_bits[3])&& !(y_bits[2] ^ x_bits[2])|| y_bits[0]&&!x_bits[0] && !(y_bits[15] ^ x_bits[15])&& !(y_bits[14] ^ x_bits[14])&& !(y_bits[13] ^ x_bits[13])&& !(y_bits[12] ^ x_bits[12])&& !(y_bits[11] ^ x_bits[11])&& !(y_bits[10] ^ x_bits[10])&& !(y_bits[9] ^ x_bits[9])&& !(y_bits[8] ^ x_bits[8])&& !(y_bits[7] ^ x_bits[7]) && !(y_bits[6] ^ x_bits[6]) && !(y_bits[5] ^ x_bits[5])&& !(y_bits[4] ^ x_bits[4])&& !(y_bits[3] ^ x_bits[3])&& !(y_bits[2] ^ x_bits[2])&& !(y_bits[1] ^ x_bits[1]) ); } 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