Win a copy of OCP Oracle Certified Professional Java SE 11 Developer Practice Tests this week in the OCP forum!
  • 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 all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Paul Clapham
  • Jeanne Boyarsky
  • Ron McLeod
  • Tim Cooke
Sheriffs:
  • Devaka Cooray
  • paul wheaton
  • Mark Herschberg
Saloon Keepers:
  • Tim Moores
  • Tim Holloway
  • Stephan van Hulst
  • Frits Walraven
  • Jj Roberts
Bartenders:
  • Carey Brown
  • salvin francis
  • Piet Souris

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
------------------
 
Bras cause cancer. And tiny ads:
the value of filler advertising in 2021
https://coderanch.com/t/730886/filler-advertising
reply
    Bookmark Topic Watch Topic
  • New Topic