diff --git a/intro.md b/intro.md index c235d5e151ce309989206a60e7ea32f3ed6e2197..b24878b105bfa6b1d60c26b7f018284e7c7ab8ef 100644 --- a/intro.md +++ b/intro.md @@ -4,16 +4,16 @@ subtitle: Introduction générale author: Orestis Malaspinas <!-- date: 25 avril 2018 --> sansfont: Sans Serif -header-includes: +<!-- header-includes: <link rel="stylesheet" href="reveal.js/lib/css/zenburn.css" > <link rel="stylesheet" href="reveal.js/css/theme/simple.css" id="theme"> <link rel="stylesheet" href="css/console.css" id="theme"> - <script src="jquery/dist/jquery.min.js"></script> -include-after: + <script src="jquery/dist/jquery.min.js"></script> --> +<!-- include-after: <script src="js/playRust.js"></script> <script src="js/remote-code.js"></script> <script src="js/remote-diagrams.js"></script> - <script src="js/em-artiste.js"></script> + <script src="js/em-artiste.js"></script> --> pdfMaxPagesPerSlide: 1 <!-- slide-numbers: true --> diff --git a/types.md b/types.md index ef29057e05ed00f5a73c7753abaf51d84d5484ef..e46b33ee8b26eba3819c658c05cc2e6864dee364 100644 --- a/types.md +++ b/types.md @@ -46,7 +46,7 @@ sansfont: Sans Serif - Les charactères. -## Les entiers (1/2) +## Les entiers (1/3) - Il existe 4 tailles d'entiers (8, 16, 32, et 64 bits) qui viennent en signé ou non-signé. - Également en taille dépendant de l'architecture @@ -67,7 +67,7 @@ sansfont: Sans Serif | 32 ou 64 bits | `isize`{.rust}| `usize`{.rust} | +---------------+---------------+--------------------+ -## Les entiers (2/2) +## Les entiers (2/3) - Par défaut un entier est de type `i32`{.rust}. - Les types `isize`{.rust} et `usize`{.rust} sont typiquement pour indéxer des collections. @@ -79,19 +79,33 @@ sansfont: Sans Serif - On ne peut **pas** convertir implicitement d'un type à un autre. <pre><code data-trim="hljs rust" class="lang-rust"> - fn main() { - let x:i64 = 5i32; // entier 32 bits dans une variable 64 bits - } +fn main() { + let x:i64 = 5i32; // entier 32 bits dans une variable 64 bits +} </code></pre> - On peut convertir entre les entiers à l'aide de `as`{.rust}. <pre><code data-trim="hljs rust" class="lang-rust"> - fn main() { - let x:i64 = 5i32 as i64; // entier 32 bits dans une variable 64 bits +fn main() { + let x:i64 = 5i32 as i64; // entier 32 bits dans une variable 64 bits - println!("Conversion de 32 en 64 bits pour x={}.", x); // affichage - } + println!("Conversion de 32 en 64 bits pour x={}.", x); // affichage +} + </code></pre> + +## Les entiers (3/3) + +- En mode *debug*, un dépassement d'entier produira une erreur à l'exécution. +- **Attention**: En mode *release*, cela ne sera pas le cas. + + <pre><code data-trim="hljs rust" class="lang-rust"> +fn main() { + let x = 12341324; + let y = 12341234; + + println!("L'entier x vaut {}.", (x*y) as i32); // affichage +} </code></pre> ## Les nombres à virgule flottante