The bitwise Exclusive OR is True if either bits are set, but not both, The bitwise Compliment is a one's compliment operator that toggles the bit on or off. If you Exclusive OR a number by itself, it sets itself to zero as the zeros will remain zero and the ones can't both be set so are set to zero

Files Recovery Software
Home Contact Details Customer Support Download Demo Products  

 
 

Bitwise Exclusive OR

The bitwise Exclusive OR is True if either bits are set, but not both. The following shows the result of a bitwise Exclusive OR on the numbers 23 and 12.

10111  (23)
01100  (12)  Exclusive OR (XOR)
_____________________________

11011  (result = 27)

The Exclusive OR has some interesting properties. If you Exclusive OR a number by itself, it sets itself to zero as the zeros will remain zero and the ones can't both be set so are set to zero.

As a result of this, if you Exclusive OR a number with another number, then Exclusive OR the result with the other number again, the result is the original number. You can try this with the numbers used in the above example.

23 XOR 12 = 27
27 XOR 12 = 23
27 XOR 23 = 12

This feature can be used for encryption. The following program uses an encryption key of 23 to illustrate the property on a number entered by the user.

#include <stdio.h>
int main()
{
int num, key = 23;

printf("Enter a number: ");
scanf("%d", &num);

num ^= key;

printf("Exclusive OR with %d gives %d\n", key, num);
num ^= key;

printf("Exclusive OR with %d gives %d\n", key, num);

return 0;
}

Bitwise Compliment

The bitwise Compliment is a one's compliment operator that toggles the bit on or off. If it is 1, it will be set to 0, if it is 0 it will be set to 1.

#include <stdio.h>
int main()
{
int num = 0xFFFF;

printf("The compliment of %X is %X\n", num, ~num);
return 0;
}

Previous page

page 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20

 
 

page 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37

 
 

page 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54

 
 

page 55 | 56 | 57 | 58 | 59 | 60

Next page
 
 
Data Recovery Book
 
Chapter 1 An Overview of Data Recovery
Chapter 2 Introduction of Hard Disks
Chapter 3 Logical Approach to Disks and OS
Chapter 4 Number Systems
Chapter 5 Introduction of C Programming
Chapter 6 Introduction to Computer Basics
Chapter 7 Necessary DOS Commands
Chapter 8 Disk-BIOS Functions and Interrupts Handling With C
Chapter 9 Handling Large Hard Disks
Chapter 10 Data Recovery From Corrupted Floppy
Chapter 11 Making Backups
Chapter 12 Reading and Modifying MBR with Programming
Chapter 13 Reading and Modifying DBR with Programming
Chapter 14 Programming for “Raw File” Recovery
Chapter 15 Programming for Data Wipers
Chapter 16 Developing more Utilities for Disks
Appendix Glossary of Data Recovery Terms
 
 
Pro Data Doctor

Home

Products

Contact Details

Customer Support

Download Demo

Terms and Conditions

 
Pro Data Doctor