<?xml version="1.0" encoding="UTF-8"?>
<!--
 * Scilab ( https://www.scilab.org/ ) - This file is part of Scilab
 * Copyright (C) INRIA -
 * Copyright (C) 2018 - Samuel GOUGEON
 *
 * Copyright (C) 2012 - 2016 - Scilab Enterprises
 *
 * This file is hereby licensed under the terms of the GNU GPL v2.0,
 * pursuant to article 5.3.4 of the CeCILL v.2.1.
 * This file was originally licensed under the terms of the CeCILL v2.1,
 * and continues to be available under such terms.
 * For more information, see the COPYING file which you should have received
 * along with this program.
 *
 -->
<!--  module: integer  -->
<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"
        xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML"
        xmlns:db="http://docbook.org/ns/docbook" version="5.0-subset Scilab"
        xml:lang="ru" xml:id="iconvert">
    <refnamediv>
        <refname>iconvert</refname>
        <refpurpose>преобразование в 1- или 8-байтное представление целого числа</refpurpose>
    </refnamediv>
    <refsynopsisdiv>
        <title>Синтаксис</title>
        <synopsis>y = iconvert(X, itype)</synopsis>
    </refsynopsisdiv>
    <refsection>
        <title>Аргументы</title>
        <variablelist>
            <varlistentry>
                <term>X</term>
                <listitem>
                    <para> матрица десятичных чисел или кодированных целых чисел.
                      Комплексные числа не поддерживаются.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term>itype</term>
                <listitem>
                    <para>целое число, тип преобразования.</para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term>y</term>
                <listitem>
                    <para>матрица целых чисел, закодированных в 1, 2, 4 или 8 байтах.</para>
                </listitem>
            </varlistentry>
        </variablelist>
    </refsection>
    <refsection>
        <title>Описание</title>
        <para>
            Функция <function>iconvert</function> преобразует и хранит данные в виде 1-,
            2-, 4- или 8-байтных целых чисел.
            Please refer to the <link linkend="int8">int8()</link> page for a detailled description.
        </para>
        <para>
            <table>
                <tr><th>itype</th><th>y typeof</th> <th>range</th></tr>
                <tr><th>0</th>  <td>(reals)</td>    <td></td></tr>
                <tr><th>1</th>  <td>int8</td>   <td>[-128, 127]</td></tr>
                <tr><th>2</th>  <td>int16</td>  <td>[-32768, 32767]</td></tr>
                <tr><th>4</th>  <td>int32</td>  <td>[-2147483648, 2147483647]</td></tr>
                <tr><th>8</th>  <td>int64</td>  <td>[-9223372036854775808, 9223372036854775807]</td></tr>
                <tr><th>11</th> <td>uint8</td>  <td>[0, 255]</td></tr>
                <tr><th>12</th> <td>uint16</td> <td>[0, 65535]</td></tr>
                <tr><th>14</th> <td>uint32</td> <td>[0, 4294967295]</td></tr>
                <tr><th>18</th> <td>uint64</td> <td>[0, 18446744073709551615]</td></tr>
            </table>
        </para>
        <warning>
            Converting <literal>[]</literal> always keeps it as is, of type 1 == inttype 0
           (decimal type).
        </warning>
    </refsection>
    <refsection>
        <title>Примеры</title>
        <programlisting role="example"><![CDATA[
b = int32([1 -120 127 312])
y = iconvert(b,1)

typeof(b)
typeof(y)
 ]]></programlisting>
    <para/>
    <programlisting role="example"><![CDATA[
iconvert([-3.6 -2.5 -1.2 1.2 2.5 3.6], 1)
iconvert([-%inf %inf %nan], 1)
iconvert([-%inf %inf %nan], 11)
iconvert(-1, 11)
iconvert(-1, 12)
iconvert(-1, 14)
iconvert(-1, 18)
 ]]></programlisting>
    <screen><![CDATA[
--> iconvert([-3.6 -2.5 -1.2 1.2 2.5 3.6], 1)
 ans  =
 -3 -2 -1  1  2  3

--> iconvert([-%inf %inf %nan], 1)
 ans  =
 -128  127  0

--> iconvert([-%inf %inf %nan], 11)
 ans  =
  0  255  0

--> iconvert(-1, 11)
 ans  =
  255

--> iconvert(-1, 12)
 ans  =
  65535

--> iconvert(-1, 14)
 ans  =
  4294967295

--> iconvert(-1, 18)
 ans  =
  18446744073709551615
]]></screen>
    </refsection>
    <refsection role="see also">
        <title>Смотрите также</title>
        <simplelist type="inline">
            <member>
                <link linkend="int8">int8</link>
            </member>
            <member>
                <link linkend="inttype">inttype</link>
            </member>
            <member>
                <link linkend="double">double</link>
            </member>
            <member>
                <link linkend="dec2bin">dec2bin</link>
            </member>
            <member>
                <link linkend="dec2base">dec2base</link>
            </member>
        </simplelist>
    </refsection>
    <refsection role="history">
        <title>История</title>
        <revhistory>
            <revision>
                <revnumber>6.0</revnumber>
                <revdescription>
                    <itemizedlist>
                        <listitem>
                            Support to int64 and uint64 encodings added.
                        </listitem>
                        <listitem>
                            <table>
                                <tr><th>This</th>              <th>is now</th>     <th>instead of</th></tr>
                                <tr><td>iconvert([-%inf,%inf], 1)</td><td>[-128, 127]</td><td>[0, 0]</td></tr>
                                <tr><td>iconvert([-%inf,%inf], 2)</td><td>[-32768, 32767]</td><td>[0, 0]</td></tr>
                                <tr><td>iconvert(%inf, 4)</td>  <td>2147483647</td> <td>-2147483648</td></tr>
                                <tr><td>iconvert(%inf, 11)</td> <td>255</td>        <td>0</td></tr>
                                <tr><td>iconvert(%inf, 12)</td> <td>65535</td>      <td>0</td></tr>
                                <tr><td>iconvert(%inf, 14)</td> <td>4294967295</td> <td>0</td></tr>
                            </table>
                        </listitem>
                    </itemizedlist>
                </revdescription>
            </revision>
        </revhistory>
    </refsection>
</refentry>

