size of an integer

Hi,

I wonder if there is a function that I can know the size of an integer value??  Just like "sizeof" function in C++???
Any idea??

Help~~~~



Xenia
xenia27Asked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

brettmjohnsonCommented:
The size of integers varies in dialects of C to correspond to the native word size of
the underlying hardware.  Java is a "Virtual Machine", whose word size is always
32-bits, no matter what the underlying hardware.  Since, by definition, the size of
and int in Java will always be 32 bits, there is no need for sizeof().
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
xenia27Author Commented:
so in Java, I don't have any function like "sizeof" because the sizes of any kinda variables are fixed???
0
xenia27Author Commented:
so how can I know how many bits I actually used??
0
Exploring SharePoint 2016

Explore SharePoint 2016, the web-based, collaborative platform that integrates with Microsoft Office to provide intranets, secure document management, and collaboration so you can develop your online and offline capabilities.

xenia27Author Commented:
OK...let me confirm what I understand from all the post and the article...so the size of all variables is fixed...and that means all bits will be used when you declare a variable and store something into the variable...even though we don't need to use all bits???
0
Mick BarryJava DeveloperCommented:
that is correct, so if you wanted to converve space then you would pick a data type that is just big enough.
0
thomas908Commented:
>>so the size of all variables is fixed.

Except for boolean, which is platform dependent
0
sciuriwareCommented:
xenia27, all of today's computers are byte oriented although they transfer their data in words (32, 48, 60, 64 or 128 bits)

In the good old days all mainframes were word oriented: if a CDC was 60 bits, you had to hussle in assembler
to pack your 6-bits texts or your 8-bits ASCII into words (because memory was few then).

Nowadays memory is plenty; sharing an integer between 2 variables that only need a part
of it (say 3 bits resp. 5 bits) is a bit strange with all those Mb or Gb around.
But if you must, you can write a class in which fields are shared between getters and setters.

(the result will be slower and BIGGER than straight code).

You can do it, if you must ........................

..... did you consider if you ever in your life use the last track on your hard disk?
;JOOP!
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Java

From novice to tech pro — start learning today.