source: public/doc/gnu-c/Integer-Const-Type.html@ 02598c2

Last change on this file since 02598c2 was 02598c2, checked in by Mikhail Kirillov <w96k@…>, on Oct 6, 2022 at 12:36:29 PM

Add gnu-c

  • Property mode set to 100644
File size: 4.8 KB
Line 
1<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2<html>
3<!-- Copyright (C) 2022 Richard Stallman and Free Software Foundation, Inc.
4
5(The work of Trevis Rothwell and Nelson Beebe has been assigned or
6licensed to the FSF.)
7
8Permission is granted to copy, distribute and/or modify this document
9under the terms of the GNU Free Documentation License, Version 1.3 or
10any later version published by the Free Software Foundation; with the
11Invariant Sections being "GNU General Public License," with the
12Front-Cover Texts being "A GNU Manual," and with the Back-Cover
13Texts as in (a) below. A copy of the license is included in the
14section entitled "GNU Free Documentation License."
15
16(a) The FSF's Back-Cover Text is: "You have the freedom to copy and
17modify this GNU manual. Buying copies from the FSF supports it in
18developing GNU and promoting software freedom." -->
19<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ -->
20<head>
21<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
22<title>Integer Const Type (GNU C Language Manual)</title>
23
24<meta name="description" content="Integer Const Type (GNU C Language Manual)">
25<meta name="keywords" content="Integer Const Type (GNU C Language Manual)">
26<meta name="resource-type" content="document">
27<meta name="distribution" content="global">
28<meta name="Generator" content="makeinfo">
29<link href="index.html" rel="start" title="Top">
30<link href="Symbol-Index.html" rel="index" title="Symbol Index">
31<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
32<link href="Constants.html" rel="up" title="Constants">
33<link href="Floating-Constants.html" rel="next" title="Floating Constants">
34<link href="Integer-Constants.html" rel="prev" title="Integer Constants">
35<style type="text/css">
36<!--
37a.summary-letter {text-decoration: none}
38blockquote.indentedblock {margin-right: 0em}
39div.display {margin-left: 3.2em}
40div.example {margin-left: 3.2em}
41div.lisp {margin-left: 3.2em}
42kbd {font-style: oblique}
43pre.display {font-family: inherit}
44pre.format {font-family: inherit}
45pre.menu-comment {font-family: serif}
46pre.menu-preformatted {font-family: serif}
47span.nolinebreak {white-space: nowrap}
48span.roman {font-family: initial; font-weight: normal}
49span.sansserif {font-family: sans-serif; font-weight: normal}
50ul.no-bullet {list-style: none}
51-->
52</style>
53
54
55</head>
56
57<body lang="en">
58<span id="Integer-Const-Type"></span><div class="header">
59<p>
60Next: <a href="Floating-Constants.html" accesskey="n" rel="next">Floating Constants</a>, Previous: <a href="Integer-Constants.html" accesskey="p" rel="prev">Integer Constants</a>, Up: <a href="Constants.html" accesskey="u" rel="up">Constants</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Index.html" title="Index" rel="index">Index</a>]</p>
61</div>
62<hr>
63<span id="Integer-Constant-Data-Types"></span><h3 class="section">12.2 Integer Constant Data Types</h3>
64<span id="index-integer-constant-data-types"></span>
65<span id="index-constant-data-types_002c-integer"></span>
66<span id="index-types-of-integer-constants"></span>
67
68<p>The type of an integer constant is normally <code>int</code>, if the value
69fits in that type, but here are the complete rules. The type
70of an integer constant is the first one in this sequence that can
71properly represent the value,
72</p>
73<ol>
74<li> <code>int</code>
75</li><li> <code>unsigned int</code>
76</li><li> <code>long int</code>
77</li><li> <code>unsigned long int</code>
78</li><li> <code>long long int</code>
79</li><li> <code>unsigned long long int</code>
80</li></ol>
81
82<p>and that isn&rsquo;t excluded by the following rules.
83</p>
84<p>If the constant has &lsquo;<samp>l</samp>&rsquo; or &lsquo;<samp>L</samp>&rsquo; as a suffix, that excludes the
85first two types (non-<code>long</code>).
86</p>
87<p>If the constant has &lsquo;<samp>ll</samp>&rsquo; or &lsquo;<samp>LL</samp>&rsquo; as a suffix, that excludes
88first four types (non-<code>long long</code>).
89</p>
90<p>If the constant has &lsquo;<samp>u</samp>&rsquo; or &lsquo;<samp>U</samp>&rsquo; as a suffix, that excludes
91the signed types.
92</p>
93<p>Otherwise, if the constant is decimal, that excludes the unsigned
94types.
95</p>
96<p>Here are some examples of the suffixes.
97</p>
98<div class="example">
99<pre class="example">3000000000u // <span class="roman">three billion as <code>unsigned int</code>.</span>
1000LL // <span class="roman">zero as a <code>long long int</code>.</span>
1010403l // <span class="roman">259 as a <code>long int</code>.</span>
102</pre></div>
103
104<p>Suffixes in integer constants are rarely used. When the precise type
105is important, it is cleaner to convert explicitly (see <a href="Explicit-Type-Conversion.html">Explicit Type Conversion</a>).
106</p>
107<p>See <a href="Integer-Types.html">Integer Types</a>.
108</p>
109
110
111
112</body>
113</html>
Note: See TracBrowser for help on using the repository browser.