Win a copy of Re-engineering Legacy Software this week in the Refactoring forum
or Docker in Action in the Cloud/Virtualization forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Minimum and maximum useable values for int long

 
Simon Evans
Ranch Hand
Posts: 93
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Dear Programmers,

In the text I have read, it states that for an integer type long, the biggest value it can be given is:-
9223372036854775807;
and the smallest value it can be given is:-
-9223372036854775808;
however in the following program:-

both initialisations return a compiler error - that bigLong is too big and the smallLong is too big : -


How is this? Is it rectifiable?

Hope you can help.

Yours

Simon
 
Henry Wong
author
Marshal
Pie
Posts: 20893
75
C++ Chrome Eclipse IDE Firefox Browser Java jQuery Linux VI Editor Windows
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Literals are by default ints -- not longs. So, it is complaining that the literal is too big for an int, not that it is too big to be assigned to a long.

To have long literals, use an "L" suffix.

long l = 123456L;

Henry
 
Simon Evans
Ranch Hand
Posts: 93
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Dear Henry Wong,
Your are right, it runs okay now - thank you for your advice.
Yours
Simon
 
Campbell Ritchie
Sheriff
Posts: 48409
56
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
There are similar problems with floats, which may require an "f" suffix, and you can suffix "d" to doubles. This is one of the few places where Java is case-insensitive, but always use a capital L, not a small l; I hope the reasons will be obvious.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic