Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical

Re^5: converting artibrary binary data to numeric values

by afoken (Abbot)
on Oct 02, 2012 at 06:21 UTC ( #996805=note: print w/replies, xml ) Need Help??

in reply to Re^4: converting artibrary binary data to numeric values
in thread converting artibrary binary data to numeric values

The C struct has unsigned longs mostly. Each of these is 32 bytes, right?

I would not bet on that. The C99 standard defines int as having the natural size suggested by the architecture of the execution environment (large enough to contain any value in the range INT_MIN to INT_MAX as defined in the header <limits.h>)., so an int needs at least 16 bits. Other integer types, including unsigned long, are definied similary. C requires a minimum range, but no fixed number of bits. The implementation may choose bit sizes as required by the machine. So most C compilers on 32 bit systems actually define int as a 32 bit number, long int is typically 32 or 64 bit. But if you run on a 36 bit architecture without a 32 bit emulation layer, int should use 36 bit, long int may use 72 bit, and long long int could use 144 bit. Things get more complicated on 64 bit systems that attempt to support 32 bit software, see Note that UNICOS defines all basic integer types as 64 bit.

See also,


Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so". ;-)

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://996805]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others pondering the Monastery: (5)
As of 2018-12-14 17:19 GMT
Find Nodes?
    Voting Booth?
    How many stories does it take before you've heard them all?

    Results (69 votes). Check out past polls.