Browse Source

ajout exemples de code cm2

master
Francois Lesueur 2 years ago
parent
commit
e0cf06fbe7
  1. 12
      cm2-nombres-code/char.c
  2. 12
      cm2-nombres-code/char2.c
  3. 11
      cm2-nombres-code/double.c
  4. 11
      cm2-nombres-code/int.c
  5. 12
      cm2-nombres.md

12
cm2-nombres-code/char.c

@ -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

@ -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

@ -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

@ -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);
}

12
cm2-nombres.md

@ -49,7 +49,7 @@ La notion de type
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
-----------------------------------
@ -57,11 +57,11 @@ Représentation des entiers positifs
- Changement de base "simple" (TD2)
- 155<sub>10</sub> -> 1001 1011<sub>2</sub> (0x9B)
Exemple simple d'addition (char.c) :
Exemple simple d'addition :
- 155 + 3 = 158
- 1001 1011 + 0000 0011 = 1001 1110
Mais le débordement :
Mais le débordement ([char.c](cm2-nombres-code/char.c)) :
- 155 + 155 = 310
- **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
- 1001 1011 -> -27 ;-)
- 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...
- Complément à 2
@ -88,7 +88,7 @@ Représentation des entiers relatifs
- 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ébordement (char2.c) :
- Débordement ([char2.c](cm2-nombres-code/char2.c)) :
- 127 + 1 = 128
- 0111 1111 + 0000 0001 = 1000 0000 -> -128
@ -96,7 +96,7 @@ Représentation des entiers relatifs
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

Loading…
Cancel
Save