how the size of an integer is decided?
- is it based on processor or compiler or OS?
Answers were Sorted based on User's Feedback
Answer / lanchai
Different hardware systems might have a different size for
an integer. you might get a different number in different
OS because the hardware running the OSes were different to
begin with. also, the "sizeof" command is actually a
compile-time command calculated by the compiler (see
wikipedia on sizeof)
So strictly speaking, its the hardware (or processor) that
determines the size of an integer.
| Is This Answer Correct ? | 11 Yes | 2 No |
Answer / akshay
compiler
if compiler is 16 bit compiler then int is of 2 bytes (turbo c)
if compiler is 32 bit then int is of 4 bytes in VC++
but for 32 bit compiler processor should be compatible i.e. of 32 bytes
so processor also decides it
again of OS
if os is 16 bit how you r going to run a 32 bit compiler on it
so a confusing question
| Is This Answer Correct ? | 5 Yes | 2 No |
Answer / sandeep
Its CPU (processor) which decides the size.
Please see the link below-
http://en.wikipedia.org/wiki/Integer_(computer_science)
| Is This Answer Correct ? | 2 Yes | 1 No |
Answer / hrishikesh
ans is compiler and not os or machine dependent or
processor b'coz u can port difft os on same processor .
when in tc it is 2
while in gcc it is 4 byte for int .
so her neither u r processor changes nor kernel as all are
originated from
UNIX.
| Is This Answer Correct ? | 2 Yes | 1 No |
Answer / mangesh
every book says it depends on machine.......some may have
same size for "int" and "long int".......
by machine they mean processor only.......
coz it cant be either compiler or OS......as they are part
of virtual...i mean software...not machine...
| Is This Answer Correct ? | 8 Yes | 8 No |
Answer / rakesh
It should be compiler, bcoz turbo c and VC hav different sizes for integer.
of course OS and processor interfere, but only for letting compiler get Installed or not... after which its compilers work.
| Is This Answer Correct ? | 2 Yes | 2 No |
What is time null in c?
find the value of y y = 1.5x+3 for x<=2 y = 2x+5 for x>2
What is the purpose of the statement: strcat (S2, S1)?
Why can arithmetic operations not be performed on void pointers?
Explain modulus operator.
x=2,y=6,z=6 x=y==z; printf(%d",x)
13 Answers Bharat, Cisco, HCL, TCS,
What are the different types of linkage exist in c?
What's the difference between calloc() and malloc()?
enum colors {BLACK,BLUE,GREEN} main() { printf("%d..%d..%d",BLACK,BLUE,GREEN); return(1); }
write a programme that inputs a number by user and gives its multiplication table.
to find out the reverse digit of a given number
6 Answers Infosys, Microsoft, TCS, Wipro,
What is a program flowchart?