Skip to content
Snippets Groups Projects
Commit 169d75c7 authored by orestis.malaspin's avatar orestis.malaspin
Browse files

added overflow

parent 95c83a2b
No related branches found
No related tags found
No related merge requests found
Pipeline #
......@@ -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 -->
......
......@@ -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
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment