Salut! Sujet du cours : Système binaire ———————————————————————————————— Un nombre qui s'exprime en base B par les quatre chiffres 1101 s'analyse : 1*B³ + 1*B² + 0*B¹ + 1*B⁰, qui donne : 1101 en base B = 10 : 1 * 10³ + 1 * 10² + 0 * 10¹ + 1 * 10⁰ = 1101 1101 en base B = 8 : 1 * 8³ + 1 * 8² + 0 * 8¹ + 1 * 8⁰ = 577 1101 en base B = 2 : 1 * 2³ + 1 * 2² + 0 * 2¹ + 1 * 2⁰ = 13 https://fr.wikipedia.org/wiki/Système_binaire Exercices simples ————————————————— Système binaire ~~~~~~~~~~~~~~~ 1) Ecrire en système binaire les nombres 1, 2, 3, 5, 8, 13, 21 du système decimal 2) Ecrire en système decimal les nombres 0, 10, 11, 100, 1010, 101010, 111000 du système binaire Traduire en Java les expressions suivantes: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1) x ∈ [a, b] Solution: a <= x && x <= b 2) x ∈ ]a, b[ 3) x ∉ [a, b] 4) [a, b] ∪ [c, d] 5) [a, b] ∩ [c, d] 6) x ∈ [a, b] ∪ [c, d] 7) Z est divisible par 4 8) Z n'est pas divisible par 100 9) Z est une année bisextile Petit rappel : Si l'année est divisible par 4 et non-divisible par 100, c'est une année bisextile. Si l'année est divisible par 400, c'est une année bisextile. Sinon, l'année n'est pas une année bissextile. ("X et Y" en Java c'est "X && Y" "X ou Y" en Java c'est "X || Y" "non X" en Java c'est "! X") Simplification d'expressions ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Donner une expression simpliée pour : 1) x = x + x + x Solution: x = 3 * x 2) x = x * 0 3) x = (1 == 0) ? 19 : 91 4) x = (x % 1) 5) x = (x % 2) == 0 ? 0 : 1 6) x = (x % 2) == 0 ? 1 : 2 Compléter un programme ~~~~~~~~~~~~~~~~~~~~~~ 1) Compléter le programme suivant afin qu'il echange les valeurs de deux variables x et y public class Echange { public static void main (String[] args) { // declarations byte x; byte y; byte z; // affectations x = 2015; y = 9; // les liens suivants affichent // 2015 // 9 System.out.println(x); System.out.println(y); . // Remplacer ces trois points par quelque chose de plus . . // intelligent // les liens suivants doivent afficher // 9 // 2015 System.out.println(x); System.out.println(y); } } Exercices plus difficiles ————————————————————————— Systèmes n-aires ~~~~~~~~~~~~~~~~ 1) Ecrire en système hexadécimal les nombres 1, 2, 3, 5, 8, 13, 21, 100, 2015 du système decimal Petit conseil : Le système hexadécimal nécessite l'introduction de 16 chiffres, représentant les 16 premiers entiers naturels : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. https://fr.wikipedia.org/wiki/Système_hexadécimal 2) Ecrire en système ternaire les nombres 1, 2, 3, 5, 8 du système decimal 3) Ecrire en système decimal les nombres 20, 10, 11 du système ternaire 4) Ecrire en système unaire les nombres 0, 1, 10, 11, 101 du système binaire 5) Pourquoi les gens utilisent le système décimal ? Simplification d'expressions ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1) Donner une expression simpliée pour x = (x % 3) == 0 ? 1 : ((x % 3) == 1 ? 2 : 3) Écrire un programme ~~~~~~~~~~~~~~~~~~~ 1) Écrire un programme qui echange les valeurs de deux variables x et y sans l'utilisation d'une troisième variable.