Run Code

Code Wall

Users

Misc

Feedback

About

Login

Theme

Privacy
bitwise_operation__endofclass
/*Simple program showing how to read an integer and printing it to output in different formats.*/ #include "stdio.h" //converts decimal value to a string that represents the binary number //note that decimal is already represented in binary in the memory //all we need is an array of characters 0 and 1 that show the number in binary int DecimalToBinary(int decimal, char *binary) { unsigned int temp = decimal; int i; for (i=0; i<32; i++) { //ASCII code for '0' is 48 and for '1' is 49 //the bit we calculate in this loop is Least Significant Bit (LSB), so the index is 31i // temp % 2 allows the program to decide if the value at location k in binary, where k = 31i, is ASCII 48 (0) or ASCII 49 (1), // converting that number to binary. // k = 31  i because we want to work with the LSB. binary[31i] = 48+ temp % 2; //dividing by 2, simply shifts the number to right and allows us to process the next bit temp = temp / 2; } //an end is put at the end of binary string. Again this is not a number, but an array of '0's and '1's binary [32] = 0; } int main(void) { int a; printf("Please input an integer value: "); scanf("%d", &a); printf("\nDecimal: %d\n", a); printf("Hex: %x\n", a); char binary[33]; DecimalToBinary(a, binary); printf ("Binary: %s\n", binary); // making something 1, so use OR. Do not use AND. // reset the LSB to 0 and leave the rest of the bits unchanged. // print the result in hex and binary. int temp; //0xfffffffe in this operation is called a "mask". temp = a & 0xfffffffe; printf("Hex: 0x%x\n", temp); DecimalToBinary(temp, binary); printf("Binary: %s\n", binary); // set the MSB of a to 1 and leave the rest of the bits unchanged. // print the result in hex and binary. // 1000 = 8. temp = a  0x80000000; printf("Hex: 0x%x\n", temp); DecimalToBinary(temp, binary); printf("Binary: %s\n", binary); return 0; }
run

edit

history

help
0
Please
log in
to post a comment.
Prime no
sume of diagonal v.1
Goodone tricky
CALCULADORA
strcat
223780
Ptr_to_fct__v2
G
Calculating longs p v1
NETFLIX TERMINADO
Please log in to post a comment.