---
# System prepended metadata

title: ACTIVITE 2 et suite du COURS

---

# ACTIVITE 2 et suite du COURS

## Complément à 2

1) On divise successivement par 2 puis on trouve 1000100, on fait le complément à 1 et on a : 10111100
2) -7 + 7 = 0. 7 = 111 et -7 = 1000. Si on exclut le bit de signe, on a 0 donc on est obligé de garder le bit de signe.
3) Ca en revient au même. Par exemple ppour 5, on a 5 = 101, -5 = 1010 et si on refait un complément à 2, ça fait 0101 donc 101

## Représentation approximative d’un flottant

1) La console affiche False
2) La console affiche 0.30000000000000004
3) Cahier de brouillon
4) Cahier de brouillon
5) Cahier de brouillon
6) Cahier de brouillon

## Représentation d'un texte en machine

Afin de représenter tout type de cractère (lettre, symbole ou chiffre), il est indipensable d'utiliser un système de codage informatoique, appelé encodage.
L'encodage assure la correspondance entre les caractères et les nombres binaires stockés dans la mémoire de l'ordinateur.
De nombreux codagezs coexistent, parmi eux, on peut citer :
* Le codage ASCII est simple, mais limité en terme de caractères à encoder, ce qui ne le rend pas universel. 7 bits suffisent pour coder un caractère.
* La norme ISO8859-1 (ou Latin-1) permet d'encoder tous les caractères des principales langues européennes. Chaque caractère est codé sur un octet. Certains alphabets comme le cyrillique ou le polonais ont leur propre norme.
* Le standard unicode est universel et extensible si besoin. En revanche il nécessite plus d'espace mémoire (l'utilisation de 4 à 6 octets par caractères à encoder) ce qui allonge la taille du message.
* La norme UTF-8 est une représentation d'unicode dont elle posséde les avantages. Cet encodage est de taille variable, ce qui lui permet d'être moins gourmand en espace mémoire unicode. De plus, il est  compatible avec ASCII, mais il est plus compliqué à gérer en machine.

## Le calucl booléen

Une variable booléenne est une variable qui ne peut prendre que 2 valeurs (True/False, 0/1, Vrai/Faux).
Un opérateur booléen est un opérateur mathématique qui relie 2 variables binaires ou 2 expressions binaires.
Une expression booléenne est une expression dont l'évaluation ne peut être que True ou False.
Un opérande est un élément sur lequel s'applique un opérateur booléen.
La table de vérité d'une expression booléenne est un tableau qui comporte une colonne par variable d'entrée (ou opérande) et une colonne pour le résultat de l'opération appliqué aux opérandes. Puique les variables booléennes ne peuvent prendre que 2 valeurs, on peut dresser la liste de tous les cas possibles pour chacun des opérateurs. On peut dresser la liste de tous les cas possibles pour chacun des opérateurs.

*Opérateurs and/et logiques :*
& (&&)
Ʌ
*
and

*Opérateurs or/ou logiques :*
||
V
t
or

*Opérateurs not/non logiques :*
not()
¬
˜
!

*Opérateurs xor/ou exclusif :*
⊕
⊻

```python=
def xor(a,b):
    return(not(a and b)and(a or b))
print(xor(True, True))
```
# DS :
packing et unpacking implicite
conversions
tuple
mettre 2 variables sans parenthèses : implicite
Exemple :
return a,b = implicite
