• 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
  • Tim Cooke
  • paul wheaton
  • Jeanne Boyarsky
  • Ron McLeod
Sheriffs:
  • Paul Clapham
  • Liutauras Vilda
  • Devaka Cooray
Saloon Keepers:
  • Tim Holloway
  • Roland Mueller
Bartenders:

short s = 0x8000 gives compiler error

 
Greenhorn
Posts: 11
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Page 150 of Sun Cert. by Sierra and Bates states that we get the cast from int to short for free.
short s2 = 0x7fff;
works but not this one:
short s1 = 0x8000;
 
Greenhorn
Posts: 12
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi Mo Bustany,
I think the highest order bit is used as sign bit. So if the number is greater than 0x7fff and assigned to short if give give a loss of precision compilation error.
Regards,
Padma
 
Greenhorn
Posts: 19
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
0x8000 fails because it is larger than the maximum value allowed for a short (2^15 - 1): 0x8000 = 32768 which is larger than 32767.
 
Ranch Hand
Posts: 1392
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Don't forget that this literal 0x8000 is type int.
Since it is type int, it has 32 bits. It looks like this,
0000 0000 0000 0000 1000 0000 0000 0000
Maybe this makes it more obvious that the value is decimal 32768.
 
Dinner will be steamed monkey heads with a side of tiny ads.
Smokeless wood heat with a rocket mass heater
https://woodheat.net
reply
    Bookmark Topic Watch Topic
  • New Topic