Drazhor Posted October 15, 2009 Share Posted October 15, 2009 Can anybody tell me what the limit of GOP reward tokens is? If there even is one.And if there is a limit, is it lower on f2p? Visit my blog! Click the madness for more madness! Link to comment Share on other sites More sharing options...
sumondskull6 Posted October 15, 2009 Share Posted October 15, 2009 2,147,483,647 (2.147b) this is the largest number Java can handle. After you exceed that, a new stack is created, and this goes for all things in runescape, or anything made with Java. Link to comment Share on other sites More sharing options...
Zaaps1 Posted October 15, 2009 Share Posted October 15, 2009 2,147,483,647 (2.147b) this is the largest number Java can handle. After you exceed that, a new stack is created, and this goes for all things in runescape, or anything made with Java. This. They are an item, so they share properties all other items share. ~It's Super Effective! (The Zaaps Blog)~My YouTube Channel, where you get to watch me go around and make a fool out of myself and all comp capersGuides:~Yeah I wrote them once~Suggestions:~Yeah I made those once~ Link to comment Share on other sites More sharing options...
freddukes Posted October 15, 2009 Share Posted October 15, 2009 Just to clarify why the number's that. Java in fact can handle larger numbers, but it uses a data storage called an signed long integer. A variable goes back to algebra in mathematics when you use an expression such as a + b = c. Each letter represents an unknown number; similarly programming languages have variables which store data about an unknown value. An signed long integer is basically a variable which takes up 4 bytes (or 32 bits) of memory to store data. Due to the nature of signed variables, one bit of the range is taken up to store the status of negativity. The end byte range for this variable ends up being 31 bits. If you imagine each one of the bits being assigned to true or 1, then the maximum value is 2 ^ 31 which is 2,147,483,648. This is 1 more than the maximum number as "0" itself is counted as a number, so the maximum value which is able to be stored in an signed long integer is (2 ^ (32 - 1) - 1) or 2,147,483,647 as previously mentioned. As to why Jagex decided to use a signed variables instead of an unsigned number bewilders me since there is no need to adopt a negative value for an item count since you can never have a negative item count; however, this data type will be built into the base of all of their modules so it'd be a big change. So you may be asking what if we need to store larger data values? Well this would be possible, but it'd take more RAM. The next data storage after a 32 bit integer is a custom 64 bit integer data storage which has a maximum value of ((2 ^ 64) - 1) or 18,446,744,073,709,551,615. This would mean though that each variable which hold the value for an item count must require double the memory allocation, thus requiring more system resources and quite a lot of changes to a lot of modules built into the game. Probably not necessary to know, but may interest you all the same :D -freddukes Link to comment Share on other sites More sharing options...
Kidd_Varrow Posted October 16, 2009 Share Posted October 16, 2009 As to why Jagex decided to use a signed variables instead of an unsigned number bewilders me since there is no need to adopt a negative value for an item count since you can never have a negative item count; however, this data type will be built into the base of all of their modules so it'd be a big change. It's quite simple, really. Java doesn't have unsigned variables. That is, if we leave out things like the char, which can't store such large numbers anyway. Link to comment Share on other sites More sharing options...
jsboutin2 Posted October 16, 2009 Share Posted October 16, 2009 Just to clarify why the number's that. Java in fact can handle larger numbers, but it uses a data storage called an signed long integer. A variable goes back to algebra in mathematics when you use an expression such as a + b = c. Each letter represents an unknown number; similarly programming languages have variables which store data about an unknown value. An signed long integer is basically a variable which takes up 4 bytes (or 32 bits) of memory to store data. Due to the nature of signed variables, one bit of the range is taken up to store the status of negativity. The end byte range for this variable ends up being 31 bits. If you imagine each one of the bits being assigned to true or 1, then the maximum value is 2 ^ 31 which is 2,147,483,648. This is 1 more than the maximum number as "0" itself is counted as a number, so the maximum value which is able to be stored in an signed long integer is (2 ^ (32 - 1) - 1) or 2,147,483,647 as previously mentioned. As to why Jagex decided to use a signed variables instead of an unsigned number bewilders me since there is no need to adopt a negative value for an item count since you can never have a negative item count; however, this data type will be built into the base of all of their modules so it'd be a big change. So you may be asking what if we need to store larger data values? Well this would be possible, but it'd take more RAM. The next data storage after a 32 bit integer is a custom 64 bit integer data storage which has a maximum value of ((2 ^ 64) - 1) or 18,446,744,073,709,551,615. This would mean though that each variable which hold the value for an item count must require double the memory allocation, thus requiring more system resources and quite a lot of changes to a lot of modules built into the game. Probably not necessary to know, but may interest you all the same :D -freddukes Wow...I always wondered why this number was 2,147,483,647 and not 2^32. Thanks a lot! Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now