🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.lang.c.moderated
Article #2380

Re: 'h' modifier in printf

#2380
From: Brian V. McGroarty
Date: Sun, 24 Mar 1996 17:49
52 lines
1880 bytes


Holden P wrote:
>printf("Vanilla %X\nWith h  %hX\n", -1, -1);

>says

>Vanilla FFFFFFFF
>With h  FFFF


You are using a machine/compiler with a 32-bit integer size.  "printf"
follows the default integer size of the machine for its parameters when a
size isn't explicitly given.  A 16-bit integer machine/compiler would print
"FFFF" for both.



>In article <4i801c$455@solutions.solon.com>,
>	tada@athena.mit.edu (Michael J Zehr) writes:

> >I was recently asked a question about printf whose answer I couldn't
> >determine by reading K&R2 (and alas the company doesn't have a copy of
> >the standard to refer to).

> >The "h" modifier says the corresponding argument will be printed as a
> >short or unsigned short.

> >So, given:

> >short s;
> >printf("%d", s);
> >printf("%hd", s);

> >(Assuming of course that s has been initialized at some point.)

> >Can these two ever be different?  I'm aware of course that the short is
> >widened to an int during the function call, but this preserves the
> >value.


All bits in the top half of a short which is extended to a full int will be
set to the top bit of the original number.  This assumes
that the short isn't the same size as the default "int", which is of course
a portability concern.



---
Brian Valters McGroarty -- brianmcg@bix.com
phone/fax (847) 439-7714
Technical Details
Message-ID: <4j41uo$nu7@solutions.solon.com>
Path: arc1-ca.pugleaf.net!solon.com!not-for-mail
References: <4j06rd$82n@solutions.solon.com>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!solon.com!not-for-mail
From: brianmcg@interaccess.com (Brian V. McGroarty)
Newsgroups: comp.lang.c.moderated,comp.std.c
Subject: Re: 'h' modifier in printf
Date: 24 Mar 1996 11:49:12 -0600
Organization: Internet Squire
Sender: clc@solutions.solon.com
Approved: clc@solutions.solon.com
Message-ID: <4j41uo$nu7@solutions.solon.com>
References: <4j06rd$82n@solutions.solon.com>
Reply-To: brianmcg@interaccess.com
NNTP-Posting-Host: solutions.solon.com
X-Newsreader: Internet Squire 1.20