ajout exemples de code cm2

This commit is contained in:
Francois Lesueur 2022-09-06 10:17:24 +02:00
parent 97cb94f568
commit e0cf06fbe7
5 changed files with 52 additions and 6 deletions

12
cm2-nombres-code/char.c Normal file
View File

@ -0,0 +1,12 @@
#include <stdio.h>
void main()
{
unsigned char a = 155;
unsigned char b = 155;
unsigned char c = a + b;
printf("Value of c is: %d\n",c);
}

12
cm2-nombres-code/char2.c Normal file
View File

@ -0,0 +1,12 @@
#include <stdio.h>
void main()
{
char a = 127;
char b = 1;
char c = a + b;
printf("Value of c is: %d\n",c);
}

11
cm2-nombres-code/double.c Normal file
View File

@ -0,0 +1,11 @@
#include <stdio.h>
void main()
{
double a = 0.1;
double b = 0.2;
double c = a + b;
printf("Value of c is: %.20f\n",c);
}

11
cm2-nombres-code/int.c Normal file
View File

@ -0,0 +1,11 @@
#include <stdio.h>
void main()
{
int a = 0.1;
int b = 0.2;
int c = a + b;
printf("Value of c is: %d\n",c);
}

View File

@ -49,7 +49,7 @@ La notion de type
Les entiers Les entiers
=========== ===========
Ici, 0.1 + 0.2 = 0 (int.c) Ici, 0.1 + 0.2 = 0 ([int.c](cm2-nombres-code/int.c))
Représentation des entiers positifs Représentation des entiers positifs
----------------------------------- -----------------------------------
@ -57,11 +57,11 @@ Représentation des entiers positifs
- Changement de base "simple" (TD2) - Changement de base "simple" (TD2)
- 155<sub>10</sub> -> 1001 1011<sub>2</sub> (0x9B) - 155<sub>10</sub> -> 1001 1011<sub>2</sub> (0x9B)
Exemple simple d'addition (char.c) : Exemple simple d'addition :
- 155 + 3 = 158 - 155 + 3 = 158
- 1001 1011 + 0000 0011 = 1001 1110 - 1001 1011 + 0000 0011 = 1001 1110
Mais le débordement : Mais le débordement ([char.c](cm2-nombres-code/char.c)) :
- 155 + 155 = 310 - 155 + 155 = 310
- **MAIS** 1001 1011 + 1001 1011 = 1 0011 0110 -> 0011 0110 = 54 (= 310 - 256) - **MAIS** 1001 1011 + 1001 1011 = 1 0011 0110 -> 0011 0110 = 54 (= 310 - 256)
@ -74,7 +74,7 @@ Représentation des entiers relatifs
- Sur 1 octet : 1 bit de signe, 7 bits de valeur - Sur 1 octet : 1 bit de signe, 7 bits de valeur
- 1001 1011 -> -27 ;-) - 1001 1011 -> -27 ;-)
- Convention d'interprétation du binaire par le type... - Convention d'interprétation du binaire par le type...
- 0000 0000 -> 0, 1000 000 -> -0 => 0.1 + 0.2 == -0 (int2.c) - 0000 0000 -> 0, 1000 000 -> -0 => 0.1 + 0.2 == -0
- Pas très pratique... - Pas très pratique...
- Complément à 2 - Complément à 2
@ -88,7 +88,7 @@ Représentation des entiers relatifs
- les opérations sont identiques à celles pour un entier non signé - les opérations sont identiques à celles pour un entier non signé
- Détails [ici](https://fr.wikipedia.org/wiki/Compl%C3%A9ment_%C3%A0_deux) - Détails [ici](https://fr.wikipedia.org/wiki/Compl%C3%A9ment_%C3%A0_deux)
- Débordement (char2.c) : - Débordement ([char2.c](cm2-nombres-code/char2.c)) :
- 127 + 1 = 128 - 127 + 1 = 128
- 0111 1111 + 0000 0001 = 1000 0000 -> -128 - 0111 1111 + 0000 0001 = 1000 0000 -> -128
@ -96,7 +96,7 @@ Représentation des entiers relatifs
Les réels Les réels
========= =========
Ici, 0.1 + 0.2 = 0.30000000000004 ([détails ici](https://0.30000000000000004.com/)) (double.c) Ici, 0.1 + 0.2 = 0.30000000000004 ([détails ici](https://0.30000000000000004.com/)) ([double.c](cm2-nombres-code/double.c))
Virgule fixe Virgule fixe