online compiler and debugger for c/c++

code. compile. run. debug. share.
Source Code    Language
#include <stdio.h> #define MODE_PHYSICAL_BOOK 1 /* (1(16bit) + UUID(32bit)) & ISBN(32bit)*/ #define MODE_EBOOK 2 /* 0(32bit) & (1(16bit) + UUID(32bit)) */ #define MODE_AUDIOBOOK 3 /* 0(32bit) & AUDIO BOOK ID(32bit) */ #define ROSE_UUID_ID_MASK(X) (X | 1 << 31) #define ROSE_PHYSICAL_BOOK_UUID_ID_UNMASK(X) (((X & 0XFFFFFFFF00000000) >> 32) & ~(1 << 31)) #define ROSE_EBOOK_UUID_ID_UNMASK(X) ((X & 0X00000000FFFFFFFF) & ~(1 << 31)) #define ROSE_ISBN_ID_UNMASK(X) (X & 0X00000000FFFFFFFF) /* * BOOK ID for ROSE is 64-bit.So masking 32 bit to 64 bit and the BOOK-ID as follows * PHYSICAL BOOK (32bits(uuid-id) + 32bits (isbn id)) * EBOOK (32bits (0) + 32bits (uuid-id)) * AUDIOBOOK (32bits (0) + 32bits (AUDIO-BOOK id)) */ #define ROSE_MASK_TO_BOOK_ID(X,Y) (((long long int)X) << 32 | ((long long int)Y)) int main() { int mode = 0; unsigned int uuid_id = 0; /* Max UUID id 65535 */ unsigned int isbn_id = 0; /* Max isbn id 4294967294 */ unsigned int u_isbn_id = 0; long long int book_id = 0; unsigned int m_uuid_id = 0; /* Max UUID id 2147549183 */ unsigned int u_uuid_id = 0; /* Max UUID id 65535 */ printf("Enter the reading mode(1/2/3): "); scanf("%d", &mode); switch(mode) { case MODE_PHYSICAL_BOOK: printf("\nEnter PHYSICAL_BOOK uuid id: "); scanf("%d", &uuid_id); printf("\nEnter PHYSICAL_BOOK ISBN id: "); scanf("%d", &isbn_id); m_uuid_id = ROSE_UUID_ID_MASK(uuid_id); book_id = ROSE_MASK_TO_BOOK_ID(m_uuid_id, isbn_id); printf("\n Masked UUID id %u BOOK id %llu\n", m_uuid_id, book_id); u_uuid_id = ROSE_PHYSICAL_BOOK_UUID_ID_UNMASK(book_id); u_isbn_id = ROSE_ISBN_ID_UNMASK(book_id); printf("\n Unmasked UUID id %u isbn id %u\n", u_uuid_id, u_isbn_id); break; case MODE_EBOOK: printf("\nEnter EBOOK uuid id: "); scanf("%d", &uuid_id); m_uuid_id = ROSE_UUID_ID_MASK(uuid_id); book_id = ROSE_MASK_TO_BOOK_ID(0, m_uuid_id); printf("\n Masked UUID id %u BOOK id %llu\n", m_uuid_id, book_id); u_uuid_id = ROSE_EBOOK_UUID_ID_UNMASK(book_id); printf("\n Unmasked UUID id %u isbn id %u\n", u_uuid_id, u_isbn_id); break; case MODE_AUDIOBOOK: printf("\nEnter the AUDIO-BOOK id: "); scanf("%d", &isbn_id); book_id = ROSE_MASK_TO_BOOK_ID(0, isbn_id); printf("\n Masked BOOK id %llu\n", book_id); u_isbn_id = ROSE_ISBN_ID_UNMASK(book_id); printf("\n Unmasked UUID id %u isbn id %u\n", u_uuid_id, u_isbn_id); break; default: printf("\nNot supported reading mode\n"); break; } 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