• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

Urgent Help

 
Ranch Hand
Posts: 48
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
hi
please explain the answer for the question given below
Q5:Given two int variables initialized as follows:
int a=63;// bit pattern //////
int b=4;// bit pattern 000100
what is the value of a&b.
a).63
b).4
c).null
d).0
answer:b
 
Greenhorn
Posts: 9
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
63= 111111111111111111111 (bin)
& (binary & operator)
4= 00000000000000000100 (bin)
------------------------------
000000000000000000100 = 4
as 1&1=1
1&0=0
0&1=0
0&0=0
 
bala_chocos
Ranch Hand
Posts: 48
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
hi champak
how are you converting 63 into binary numbers
iam in problem
thanks in adv
 
Greenhorn
Posts: 4
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
hi friend,
To convert 63(decimal) to a binary number(in 2's Complement):
63 = 0011 1111

= 1*2^5+1*2^4+1*2^3+1*2^2+1*2^1+1*2^0
= 63

hope, you got it.
kannan.
 
Ranch Hand
Posts: 191
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
It's very easy to convert a decimal number to binary....
Just divide the given +ve decimal number by 2. Again divide the quotient with 2 repeatedly until you get quotient as zero.
Then collect the remainders (which is either 1 or 0) and line them up in the reverse order i.e. right to left. Add zero's to fill up the remaining places.
Example 1:
2)63(31 2)31(15 2)15(7 2)7(3 2)3(1 2)1(0
62 30 14 6 2 0
--- --- --- -- -- --
1 1 1 1 1 1
so: 63 = 0011 1111
Example 2:
2)4(2 2)2(1 2)1(0
4 2 0
-- -- --
0 0 1
so:4 = 0000 0100
 
Vishakha Ahuja
Ranch Hand
Posts: 191
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Sorry about the apperance of division in the above reply, I tried some formatting to make it look like division (in maths text book)
But, you see all my spaces have been collapsed....... Hope the above makes sense.
 
bala_chocos
Ranch Hand
Posts: 48
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
hi
still u are confusing
champak told me like
63=11111111
but vishak telling like this
63=00111111
Please explain help me


 
Ranch Hand
Posts: 30
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
63 should be 0011 1111b
but, guys, it's SCJP, isn't it?
 
Ranch Hand
Posts: 41
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi Bala,
the answer is 4
a = 63 = 0011 1111
b = 4 = 0000 0100
a&b =4 = 0000 0100
Thats as simple as that.
Cheers,
Softie
 
Ranch Hand
Posts: 347
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
bala_chocos,
vishak is right.
63 decimal = 00111111 binary.
When you convert to binary, the same principles apply as in decimal numbers.
Start with the decimal number 63.
There is nothing in the hundredes position, a 6 in the tens position and a 3 in the ones position.
So we get
(6 * (10^1)) + (3 * (10^0)) =
(6 * 10) + (3 * 1) = 63.
The same logic applies for binary, but now instead of going by powers of 10 we go by powers of 2. Instead of having ones, tens, hundreds, thousands, etc. positions, we have ones, twos, fours, eights, sixteens, etc. positions.
So, getting back to the decimal number 63. In binary we have:
0 in the sixty-fours position
1 in the thirty-twos position
1 in the sixteens position
1 in the eights position
1 in the fours position
1 in the twos position
1 in the ones position
So:
(1 * (2^5)) +
(1 * (2^4)) +
(1 * (2^3)) +
(1 * (2^2)) +
(1 * (2^1)) +
(1 * (2^0)) =
(1 * 32) + (1 * 16) + (1 * 8) + (1 * 4) + (1 * 2) + (1 * 1) = 63;
00111111 binary = 63 decimal
Hope this helps.
Stephanie
 
Ranch Hand
Posts: 70
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thank you Vishakha and Stephanie for explaining how to convert decimal numbers into binary numbers so nicely .It has really cleared up by fundas.
Thanks
Ira
------------------
reply
    Bookmark Topic Watch Topic
  • New Topic