You are on page 1of 6

Problem #1 (100 Points)

 Write a C program that reads a character and


displays each bit of the character.

 Note: A character has 8 bits.


 Hint: Use a mask 0x80, and left shift the mask (or
right shift the character read) 1 bit at a time.

1
Problem Statement
 Write a C program that displays the first 8 bits of each
character value input into a variable named ch.
 (Hint: Assuming each character is stored using 8 bits, start by
using the hexadecimal mask 80, which corresponds to the
binary number 10000000.
 If the result of the masking operation is a 0, display a 0; else
display a 1.
 Then shift the mask one place to the right to examine the
next bit, and so on until all bits in the variable ch have been
processed.)
 * Test your program against 4 characters (2 capital and 2
lower case)
 * Check your result against the “alphabet to binary” tables in
the next 2 pages.
2
Alphabet (Capital) in Binary
Alphabet in Binary (CAPITAL letters)
A 01000001
B 01000010
C 01000011
D 01000100
E 01000101
F 01000110
G 01000111
H 01001000
I 01001001
J 01001010
K 01001011
L 01001100
M 01001101
N 01001110
O 01001111
P 01010000
Q 01010001
R 01010010
S 01010011
T 01010100
U 01010101
V 01010110
W 01010111
X 01011000
Y 01011001
Z 01011010

3
Alphabet (Lower Case) in Binary
Alphabet in Binary (lowercase letters)
a 01100001
b 01100010
c 01100011
d 01100100
e 01100101
f 01100110
g 01100111
h 01101000
i 01101001
j 01101010
k 01101011
l 01101100
m 01101101
n 01101110
o 01101111
p 01110000
q 01110001
r 01110010
s 01110011
t 01110100
u 01110101
v 01110110
w 01110111
x 01111000
y 01111001
z 01111010
4
Problem #2 (100 Points)
 Write a C program to convert decimal number
from 1 to 1000 to binary string and hexadecimal
string
 Output:
DEC 1: BIN 1 HEX 1
DEC 2: BIN 10 HEX 2
.
.
DEC 254: BIN 11111110 HEX FE
.
.
DEC 1000: BIN 1111101000 HEX 3E8

5
Hint: convert 1792(10) decimal to binary

Decimal Number Operation Quotient Remainder Binary Result


1792 ÷ 2= 896 0 0
896 ÷ 2 = 448 0 00
448 ÷ 2 = 224 0 000
224 ÷ 2 = 112 0 0000
112 ÷ 2 = 56 0 00000
56 ÷ 2= 28 0 000000
28 ÷ 2= 14 0 0000000
14 ÷ 2= 7 0 00000000
7 ÷ 2= 3 1 100000000
3 ÷ 2= 1 1 1100000000
1 ÷ 2= 0 1 11100000000
0 done.

You might also like