Write a C program that contains a string (char pointer) with a value \Hello World’.The program should AND or and XOR each character in this string with 127 and display the result.

EXPERIMENT 2: XOR a string with a 127

AIM: Write a C program that contains a string (char pointer) with a value \Hello World’. The program should AND or and XOR each character in this string with 127 and display the result.

HARDWARE AND SOFTWARE REQUIREMENT:
1. Intel based Desktop PC: - RAM of 512 MB
2. Turbo C / Borland C

THEORY:

(a)String                                                              
The string is the  one-dimensional array of characters terminated by a null ('\0'). Each and every character in the array consumes one byte of memory, and the last character must always be 0. The termination character ('\0') is used to identify where the string ends. In C language string declaration can be done in two ways
  1. By char array
  2. By string literal
Let's see the example of declaring string by char array in C language.

1.    char ch[17]={'o''n''l''i''n''e''s''m''a''r', 't''t''r''a', 'i''n''e''r''\0'};  
As we know, array index starts from 0, so it will be represented as in the figure given below.

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
o
n
l
i
n
e
s
m
a
r
t
t
r
a
i
n
e
r
\0

While declaring string, size is not mandatory. So we can write the above code as given below:
char ch[]={'o''n''l''i''n''e''s''m''a''r', 't''t''r''a', 'i''n''e''r''\0'};
We can also define the string by the string literal in C language. For example:
2.    char str[]="onlinesmarttrainer";  
In such case, '\0' will be appended at the end of the string by the compiler.
(b) AND  Operation                                                                 
There are two inputs and one output in  binary AND operationThe inputs and result to a binary AND operation can only be 0 or 1.The binary AND operation will always produce a 1 output if both inputs are 1 and will produce a 0 output if both inputs are 0.For two different inputs, the output will be 0.
AND Truth Table
Input
Output
X
Y
0
0
0
0
1
0
1
0
0
1
1
1

(c) XOR Operation                                                                  

There are two inputs and one output in  binary XOR (exclusive ORoperation. It is similar to ADD operation which takes two inputs and produces one result i.e. one output.
The inputs and result to a binary XOR operation can only be 0 or 1.The binary XOR operation will always produce a 1 output if either of its inputs is 1 and will produce a 0 output if both of its inputs are 0 or 1.
XOR Truth Table
Input
Output
X
Y
0
0
0
0
1
1
1
0
1
1
1
0


SOURCE CODE:
#include<stdio.h>
#include<conio.h>
#include<string.h>
#include<stdlib.h>
void main()
{
clrscr();
char str[]="HelloWorld";
char str1[11];
char str2[11];
int i,len;
len = strlen(str);

for(i=0;i<len;i++)
{
str1[i]=str[i] & 127;
printf("%c",str1[i]);
}
printf("\n");
for(i=0;i<len;i++)
{
str2[i]=str[i]^127;
printf("%c",str2[i]);
}
printf("\n");
getch();
}
OUTPUT:

VIVA QUESTIONS:
  1. What is AND Operation?
  2. What is XOR Operation
  3. What is String?


Comments

Search related post on google