Sponsored Content
Full Discussion: help with data type sizes
Top Forums Programming help with data type sizes Post 302488038 by DGPickett on Friday 14th of January 2011 04:44:54 PM
Old 01-14-2011
When loading phydsical accumulators and registers with numbers, they are stretched to fit, with zeros if unsigned or by repeating the sign bit at the high order bit of the comp-2 representation. Similarly, C stretches the values to the bigger type to compare or compute.

Usually, a char is 1 byte unsigned (0-255), and an int is 4 bytes signed (+/- 2 billion plus). Old C models had int and short at 2 and long at 4, most 32 bit models have int and long at 4, and long models have int at 4 and long at 8.

Floating types are particularly variable in computers, but in C it is 4 bytes, and there is an IEEE spec on floating numbers that makes them portable. Differnt float types are 64 Double or 80 Long Double or is it Double Double, no, that feels wrong, bits. Float has some bits for mantissa, usually as a 2's complement fraction between .5 and < 1.0 when normalized, where 010000- is 1/2, and exponent, usually a 2's complement power of 2 but sometimes a 2's complement power of 16 or an "excess" number, where the boundary between negative and positive is shifted to a more useful range. None of this leaks into IEEE floating representations.

C increments pointers for each type by its size. types.h gives a lot of info on alternative C types. Some APIs just typedef their int types int1, int2, int4 and int8 or unsigned uint1, uint2, uint4, uint8.

Positions of items in a struct are usualy formatted #pragma pack 4 by default, and generally, you can save space by declaring like sized types adjacent.

Last edited by DGPickett; 01-14-2011 at 05:57 PM..
 

10 More Discussions You Might Find Interesting

1. Programming

FILE data type

Hi all, Can anyone tell me a little about the datatype FILE, which represents stream. What does its structure look like, and in which header file is it defined and so on... Ex : FILE *fp ; fp = fopen("filename", "w") ; (6 Replies)
Discussion started by: milhan
6 Replies

2. Programming

time_t data type-- what does start +1 mean?

Hi, I am trying to understand an very old C program. .... time_t start, end; ptr = localtime(&start); ... fprintf(out, "%-35s 01 %5s %2s %10d 1 5 /tty/M%d/%02d %24s", buffer3, job, ver, start, mach_num,atoi(buffer), asctime(ptr)); fprintf(out, "%-35s 03 %5s %2s %10d 1 5... (9 Replies)
Discussion started by: whatisthis
9 Replies

3. Programming

data type limitation

I am writing some code to do analysis on the file system (HP-UX 11.11). I am using stat(..) to get file information. My problem is that the file-size may exceed the data types defined in 'sys/stat.h' & 'sys/types.h' respectively. Thus file-sizes in the Giga-byte range are not read correctly.... (2 Replies)
Discussion started by: ALTRUNVRSOFLN
2 Replies

4. AIX

Value too large to be stored in data type???

Hello, I get this message : "Value too large to be stored in data type" when I try to open a 3Gb file. Can someone helps me to resolve the problem. Thank you very much (5 Replies)
Discussion started by: limame
5 Replies

5. UNIX for Dummies Questions & Answers

Directorie listing in Human form for data sizes

I have seen it done at my job before, there is a command that will make a notepad and show the directorie path, subfolders, and size of the subfolders? But i dont want it to go lower than 2 levels for example: folder_01 10 GB subfolder_02 10 GB subfolder_03 10 GB... (4 Replies)
Discussion started by: JUSSAN007
4 Replies

6. Shell Programming and Scripting

Perl data type checking

I am using perl 5.8.0. I need to check some values to see it they are floats. Our system does not have Data::Types so I can't use is_float. Is there something else that I can use? The only thing in Data is Dump.pm. I am not allowed to download anything to our system so I have to use what I have.... (3 Replies)
Discussion started by: ajgwin
3 Replies

7. UNIX for Advanced & Expert Users

Memory allocation for float data type

Dear All, How internally memory allocated when we declare the float data type. how many bytes allocated for decimal and how many bytes for fraction. kindly help me in this regards. (2 Replies)
Discussion started by: rajamohan
2 Replies

8. Shell Programming and Scripting

Can I split a 10GB file into 1 GB sizes using my repeating data pattern

I'm not a unix guy so excuses my ignorance... I'm the database ETL guy. I'm trying to be proactive and devise a plan B for a ETL process where I expect a file 10X larger than what I process daily for a recast job. The ETL may handle it but I just don't know. This file may need to be split... (3 Replies)
Discussion started by: john091
3 Replies

9. Web Development

Data type to use for prices with commas

Hi everybody, I`m very new with PHP and Databases and I having the follow issue with prices data.. The original information is in CSV files. The prices have formatted with commas and dots as follow: 12,300.99 -->(thousands separated by commas) 3,500.25 -->(thousands separated... (10 Replies)
Discussion started by: cgkmal
10 Replies

10. Programming

Incompatible data type fpos_t in C

This is from a program I wrote over in 1998 that I am trying to compile on a linux machine: void write_line (FILE *fp, int rec_no, line_rec *arec) { fpos_t woffset; woffset = (rec_no - 1) * sizeof(line_rec); fsetpos(fp,&woffset); fwrite(arec,sizeof(line_rec),1,fp); }On the line... (2 Replies)
Discussion started by: wbport
2 Replies
values.h(3HEAD) 						      Headers							   values.h(3HEAD)

NAME
values.h, values - machine-dependent values SYNOPSIS
#include <values.h> DESCRIPTION
This file contains a set of manifest constants, conditionally defined for particular processor architectures. The model assumed for integers is binary representation (one's or two's complement), where the sign is represented by the value of the high-order bit. BITS(type) The number of bits in a specified type (for example, int). HIBITS The value of a short integer with only the high-order bit set. HIBITL The value of a long integer with only the high-order bit set. HIBITI The value of a regular integer with only the high-order bit set. MAXSHORT The maximum value of a signed short integer. MAXLONG The maximum value of a signed long integer. MAXINT The maximum value of a signed regular integer. MAXFLOAT, LN_MAXFLOAT The maximum value of a single-precision floating-point number, and its natural logarithm. MAXDOUBLE, LN_MAXDOUBLE The maximum value of a double-precision floating-point number, and its natural logarithm. MINFLOAT, LN_MINFLOAT The minimum positive value of a single-precision floating-point number, and its natural logarithm. MINDOUBLE, LN_MINDOUBLE The minimum positive value of a double-precision floating-point number, and its natural logarithm. FSIGNIF The number of significant bits in the mantissa of a single-precision floating-point number. DSIGNIF The number of significant bits in the mantissa of a double-precision floating-point number. SEE ALSO
intro(3) math.h(3HEAD) SunOS 5.10 2 Mar 1993 values.h(3HEAD)
All times are GMT -4. The time now is 04:24 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy