a71735d29f29d9666b85231f8f62e0de88883753
[scilab.git] / scilab / modules / elementary_functions / help / fr_FR / exponential / log2.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
4  * Copyright (C) 2008 - INRIA
5  * Copyright (C) 2012 - 2016 - Scilab Enterprises
6  * Copyright (C) 2019 - Samuel GOUGEON
7  *
8  * This file is hereby licensed under the terms of the GNU GPL v2.0,
9  * pursuant to article 5.3.4 of the CeCILL v.2.1.
10  * This file was originally licensed under the terms of the CeCILL v2.1,
11  * and continues to be available under such terms.
12  * For more information, see the COPYING file which you should have received
13  * along with this program.
14  *
15  -->
16 <refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"
17           xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml"
18           xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook"
19           xmlns:scilab="http://www.scilab.org" xml:id="log2" xml:lang="fr">
20     <refnamediv>
21         <refname>log2</refname>
22         <refpurpose>logarithme en base 2</refpurpose>
23     </refnamediv>
24     <refsynopsisdiv>
25         <title>Séquence d'appel</title>
26         <synopsis>
27             y = log2(x)
28             [f, e] = log2(u)
29         </synopsis>
30     </refsynopsisdiv>
31     <refsection>
32         <title>Paramètres</title>
33         <variablelist>
34             <varlistentry>
35                 <term>x, y</term>
36                 <listitem>
37                     <para>
38                         tableaux de nombres décimaux ou complexes, tels que <literal>2.^y = x</literal>.
39                     </para>
40                 </listitem>
41             </varlistentry>
42             <varlistentry>
43                 <term>u, m, e</term>
44                 <listitem>
45                     <para>Tableaux de nombres décimaux tels que <literal>u = m .* 2.^e</literal>,
46                         avec <literal>sign(m)=sign(u)</literal> et <literal>0.5 ≤ abs(m) &lt; 1</literal>.
47                     </para>
48                 </listitem>
49             </varlistentry>
50         </variablelist>
51     </refsection>
52     <refsection>
53         <title>Description</title>
54         <para>
55             <literal>log2(x)</literal> calcule le logarithme en base 2 élément
56             par élément : <literal>y(i,j)=log2(x(i,j))</literal>.
57             <note>
58                 <literal>log2(-%inf) == %inf + log2(-1)</literal>
59             </note>
60         </para>
61         <para>
62             <literal>[m,e]=log2(u)</literal> calcule élément par élément la mantisse
63             <varname>m</varname> et l'exposant <varname>e</varname> de tous les éléments de
64             <varname>u</varname>. Ainsi, pour tout indice <literal>k</literal> nous avons
65             <literal>u(k) = m(k) .* 2.^e(k)</literal> avec <literal>0.5 ≤ |m(k)| &lt; 1</literal>.
66             <note>
67                 <itemizedlist>
68                     <listitem>
69                         <literal>[m,e]=log2([0 %nan -%inf %inf])</literal> donne
70                         <literal>m=[0  NaN -Inf Inf]</literal> et <literal>e=[0 0 0 0]</literal>.
71                     </listitem>
72                     <listitem>
73                         Cette syntaxe correspond à la fonction nommée frexp() en langage C ANSI.
74                     </listitem>
75                 </itemizedlist>
76             </note>
77         </para>
78     </refsection>
79     <refsection>
80         <title>Exemples</title>
81         <para>
82             Logarithme en base 2:
83         </para>
84         <programlisting role="example"><![CDATA[
85 L = log2([-1, 1, 2, %i, -%i])
86 clean(2.^L)
87 L = log2([0 %nan %inf])
88 2 .^ L
89 L = log2([0 %nan %inf -%inf]) // -%inf<0 rend le résultat complexe
90 2 .^ L                        // -Inf n'est pas retrouvé
91  ]]></programlisting>
92     <screen><![CDATA[
93 --> L = log2([-1, 1, 2, %i, -%i])
94  L  =
95    4.5323601i   0.   1.   2.2661801i  -2.2661801i
96
97 --> clean(2.^L)
98  ans  =
99   -1.   1.   2.   i   -i
100
101 --> L = log2([0 %nan %inf])
102  L  =
103   -Inf   Nan   Inf
104
105 --> 2 .^ L
106  ans  =
107    0.   Nan   Inf
108
109 --> L = log2([0 %nan %inf -%inf]) // -%inf<0 rend le résultat complexe
110  L  =
111   -Inf   Nan + Nani   Inf   Inf + 4.5323601i
112
113 --> 2 .^ L                        // -Inf n'est pas retrouvé
114  ans  =
115    0.   Nan + Nani   Inf   Nan + Nani
116 ]]></screen>
117         <para/>
118         <para>
119             Décomposition en mantisses et exposants en base 2 :
120         </para>
121         <programlisting role="example"><![CDATA[
122 [m, e] = log2([-3, -1.5, -1, 0, 4, 1e20])
123 m .* 2.^e
124  ]]></programlisting>
125     <screen><![CDATA[
126 --> [m, e] = log2([-3, -1.5, -1, 0, 4, 1e20])
127  e  =
128    2.     1.     1.    0.   3.   67.
129  m  =
130   -0.75  -0.75  -0.5   0.   0.5   0.6776264
131
132 --> m .* 2.^e
133  ans  =
134   -3.  -1.5  -1.   0.   4.   1.000D+20
135 ]]></screen>
136     <para/>
137         <programlisting role="example"><![CDATA[
138 np = number_properties;
139 x = [%eps np("tiniest") np("tiny") np("huge")]
140 [m, e] = log2(x)
141  ]]></programlisting>
142     <screen><![CDATA[
143 --> x = [%eps np("tiniest") np("tiny") np("huge")]
144  x  =
145     2.220D-16    4.94D-324    2.22D-308    1.79D+308
146
147 --> [m, e] = log2(x)
148  e  =
149   - 51.  - 1073.  - 1021.    1024.
150  m  =
151     0.5    0.5    0.5    1.
152 ]]></screen>
153     <para/>
154         <programlisting role="example"><![CDATA[
155 [m, e] = log2([0 %nan -%inf %inf])
156 m .* 2.^e
157  ]]></programlisting>
158     <screen><![CDATA[
159 -->[m, e] = log2([0 %nan -%inf %inf])
160  e  =
161     0.    0.    0.    0.
162  m  =
163     0.    Nan  - Inf    Inf
164
165 -->m .* 2.^e
166  ans  =
167     0.    Nan  - Inf    Inf
168 ]]></screen>
169     </refsection>
170     <refsection role="see also">
171         <title>Voir aussi</title>
172         <simplelist type="inline">
173             <member>
174                 <link linkend="log">log</link>
175             </member>
176             <member>
177                 <link linkend="log10">log10</link>
178             </member>
179             <member>
180                 <link linkend="nextpow2">nextpow2</link>
181             </member>
182             <member>
183                 <link linkend="bitstring">bitstring</link>
184             </member>
185             <member>
186                 <link linkend="hat">hat</link>
187             </member>
188             <member>
189                 <link linkend="logm">logm</link>
190             </member>
191         </simplelist>
192     </refsection>
193 </refentry>