ajout exemples de code cm2
This commit is contained in:
parent
97cb94f568
commit
e0cf06fbe7
12
cm2-nombres-code/char.c
Normal file
12
cm2-nombres-code/char.c
Normal 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
12
cm2-nombres-code/char2.c
Normal 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
11
cm2-nombres-code/double.c
Normal 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
11
cm2-nombres-code/int.c
Normal 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);
|
||||
|
||||
}
|
@ -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…
Reference in New Issue
Block a user