Platform type in Unix


 
Thread Tools Search this Thread
Top Forums Programming Platform type in Unix
# 22  
Old 06-12-2007
Sure, the issue with big/little endian is their storage in memory. So "\001\000\000\000" sets up four bytes of memory, this could also be done as

char buffer[]={1,0,0,0};

but the string approach allows it to be done inline and use octel encoding, hence the three digits per byte.

Then we try and read a short from that area of memory, now we actually don't know how big a short is, but it's unlikely to be more than four bytes, the spec only says that a short should not be longer than a long, so casting it to a (const short *) means this is a pointer to a short, then the preceeding * gets the value of at that pointer.

If this was a big-endian machine it would have loaded 0x0100 into the short, if it was little-endian it would have loaded 0x0001.

In the very rare case that a short was 4 bytes, then the big-endian machine would have loaded 0x01000000 hence the test for < 256.
# 23  
Old 06-12-2007
porter, thank it's clear now except for one thing:
Why doesn't "\001\000\000\000" get stored as a string like { '\', '0', '0', '1', '\', '0', '0', '0', '\' ..... '\0' } is it because "\001" is implicitly converted to an octal value of 1. Also, would "\00112\000\000\000" cause an overflow?

Last edited by solfreak; 06-12-2007 at 01:41 PM..
# 24  
Old 06-12-2007
Quote:
Originally Posted by solfreak
is it because "\001" is implicitly converted to an octal value of 1
Yes.

Quote:
Originally Posted by solfreak
Also, would "\00112\000\000\000" cause an overflow?
That would be

0x01, 0x31, 0x32, 0x00,0x00,0x00

so an overflow of what?
# 25  
Old 06-12-2007
Quote:
That would be 0x01, 0x31, 0x32, 0x00,0x00,0x00
Got it. Thanks!
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Red Hat

Double data type C Red Hat platform problem

I'm converting a binary file to ASCII using c code. The folllowing block of code prints correct double value 00000.000000000 on HPUNIX platform. longi double; /* C79 - Price Per Minute */ memcpy(&longi,&rbuff,8); fprintf(wfp,"%015.9f ",longi); prints : 00000.000000000 ... (6 Replies)
Discussion started by: krk
6 Replies

2. UNIX for Advanced & Expert Users

R plots in UNIX platform

How do you see plots produced in R under UNIX platform? Thanks! (2 Replies)
Discussion started by: johnkim0806
2 Replies

3. Red Hat

Machine/Hardware platform/Processor type

Hi, I am just confused about these three things which are shown in the output of uname command. I am running RH lINUX 9.0 on hardware having Intel HT CPU. My uname shows uname -p i686 (processor) uname -m i686 (machine) uname -i i386 (hardware) I was about to ... (1 Reply)
Discussion started by: dextergenious
1 Replies

4. UNIX for Dummies Questions & Answers

Is unix os or platform?

hellow everyone, iam a new user to linux and i have question about unix os. unix is operating system or platform iam confused. i have read some article about unix but i haven't found the answer what iam searching for. so iam confused in this topic can anyone made it clear. Any types of... (8 Replies)
Discussion started by: paruhang
8 Replies

5. Programming

about unix platform

Hi can any body post example for socket tcpclient in c++ act like browser with HTTp 1.1 and send message for the server (2 Replies)
Discussion started by: Net Star
2 Replies

6. UNIX for Dummies Questions & Answers

Most used unix platform as desktop.

Just wonder about this question everytime that how many of us use unix as desktop and prefers which unix platform as desktop. - nilesh (4 Replies)
Discussion started by: ynilesh
4 Replies

7. UNIX for Dummies Questions & Answers

i am newer to unix platform

i have to select particular fields from a multiple line record. my record is in dump.txt file and looks like this ******************* tipo = abonado simplex, Idiomas = dic1 - none, Operador = estandar Serv. portadora admitido: modem ind = 0 numero telefonico = 79260960, att = 0... (1 Reply)
Discussion started by: junaid.nehvi
1 Replies

8. UNIX for Dummies Questions & Answers

Need help in choosing Unix Platform.

I'm a completely noob to Unix. I have previously managed quite well Windows OS's but never Unix. -My question is quite simple: I've been investigating what's the easiest and most complex Unix OS. However, it seems there are quite a couple of OS's from which to choose, like: -Darwin ... (3 Replies)
Discussion started by: justanoob
3 Replies

9. UNIX for Advanced & Expert Users

Porting of Windows written unix scripts to unix platform

Can anybody help me in finding out a solution for the problem below? When we write .unix or .sh files in windows OS and port them to Unix platforms there is a character ^M inserted at the end of each line of the script file. During ftp porting I set the transfer mode as ASCII for the script... (7 Replies)
Discussion started by: tamilselvi
7 Replies

10. Programming

C++ on True Unix Platform

Hi all: I would like to get some details about development using C++ on TRUE Unix platform. Can anyone help me ?? Thanks, -Mandar (2 Replies)
Discussion started by: mandar3
2 Replies
Login or Register to Ask a Question