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

ajout debut types

parent bedf92b8
No related branches found
No related tags found
No related merge requests found
Pipeline #
...@@ -29,7 +29,7 @@ REVEALOPRIONS += --self-contained ...@@ -29,7 +29,7 @@ REVEALOPRIONS += --self-contained
SVG=$(wildcard figs/*.svg) SVG=$(wildcard figs/*.svg)
PNG=$(SVG:%.svg=%.png) PNG=$(SVG:%.svg=%.png)
all: $(PNG) intro.html variables.html all: $(PNG) intro.html variables.html types.html
figs/%.png: figs/%.svg figs/%.png: figs/%.svg
convert \-flatten $< $@ convert \-flatten $< $@
...@@ -40,5 +40,8 @@ intro.html: intro.md Makefile ...@@ -40,5 +40,8 @@ intro.html: intro.md Makefile
variables.html: variables.md Makefile variables.html: variables.md Makefile
pandoc -s $(REVEALOPRIONS) -o $@ $< pandoc -s $(REVEALOPRIONS) -o $@ $<
types.html: types.md Makefile
pandoc -s $(REVEALOPRIONS) -o $@ $<
clean: clean:
rm -rf intro.html variables.html rm -rf intro.html variables.html
types.md 0 → 100644
---
title: Cours de programmation séquentielle
subtitle: Types
author: Orestis Malaspinas
<!-- date: 25 avril 2018 -->
sansfont: Sans Serif
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>
<!-- <script src="reveal.js/lib/js/classList.js"></script> -->
<!-- <script src="reveal.js/plugin/zoom-js/zoom.js"></script> -->
<!-- <script src="reveal.js/plugin/highlight/highlight.js"></script> -->
<!-- <script src="js/remote-diagrams.js"></script> -->
<!-- <script src="reveal.js/plugin/notes/notes.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>
width:
1500
height:
1500
<!-- slide-numbers: true -->
---
# Les types
## Les types en rust
- Langage **statiquement typé**: tous les types sont connus **à la compilation**.
- Les types sont **inférés** quand cela est possible.
- Il est parfois nécessaire d'annoter le type explicitement.
<pre><code data-trim="hljs rust" class="lang-rust">
fn main() {
let x = 5; // entier 32 bits dont le type est inféré
let y:i32 = 5; // entier 32 bits dont le type est annoté
println!("Ces deux lignes sont équivalentes x est: {} et y est: {}", x, y); // affichage
}
</code></pre>
- Il exits plusieurs types de base:
- Les entiers.
- Les nombres à virgule flottante.
- Les booléens.
- Les charactères.
## Les entiers
- Il existe 4 tailles d'entiers (8, 16, 32, et 46 bits) qui viennent en signé ou non-signé.
+---------------+---------------+--------------------+
|Longueur | Signé | Non-signé |
+===============+===============+====================+
| 8 bits | `i8`{.rust} | `u8`{.rust} |
+---------------+---------------+--------------------+
| 16 bits | `i16`{.rust} | `u16`{.rust} |
+---------------+---------------+--------------------+
| 32 bits | `i32`{.rust} | `u32`{.rust} |
+---------------+---------------+--------------------+
| 64 bits | `i64`{.rust} | `u64`{.rust} |
+---------------+---------------+--------------------+
- Également en taille dépendant de l'architecture
- `isize`{.rust} entier signé 32 ou 64 bits.
- `usize`{.rust} entier signé 32 ou 64 bits.
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment