diff options
Diffstat (limited to 'semestre 3/architecture des ordinateurs/tme')
| -rw-r--r-- | semestre 3/architecture des ordinateurs/tme/tme2/exo1/q1.c | 17 | ||||
| -rw-r--r-- | semestre 3/architecture des ordinateurs/tme/tme2/exo1/q2.c | 12 | ||||
| -rwxr-xr-x | semestre 3/architecture des ordinateurs/tme/tme2/exo2/main | bin | 0 -> 15536 bytes | |||
| -rw-r--r-- | semestre 3/architecture des ordinateurs/tme/tme2/exo2/q1-q2.md | 25 | ||||
| -rw-r--r-- | semestre 3/architecture des ordinateurs/tme/tme2/exo2/q3.c | 10 | ||||
| -rwxr-xr-x | semestre 3/architecture des ordinateurs/tme/tme2/exo3/q1 | bin | 0 -> 15480 bytes | |||
| -rw-r--r-- | semestre 3/architecture des ordinateurs/tme/tme2/exo3/q1.c | 23 | ||||
| -rw-r--r-- | semestre 3/architecture des ordinateurs/tme/tme2/exo4.c | 16 | ||||
| -rw-r--r-- | semestre 3/architecture des ordinateurs/tme/tme2/exo4.c.bp | 16 | ||||
| -rwxr-xr-x | semestre 3/architecture des ordinateurs/tme/tme2/main | bin | 0 -> 15584 bytes |
10 files changed, 119 insertions, 0 deletions
diff --git a/semestre 3/architecture des ordinateurs/tme/tme2/exo1/q1.c b/semestre 3/architecture des ordinateurs/tme/tme2/exo1/q1.c new file mode 100644 index 0000000..83f9ece --- /dev/null +++ b/semestre 3/architecture des ordinateurs/tme/tme2/exo1/q1.c @@ -0,0 +1,17 @@ +#include <stdio.h> + +int main(){ + int i; + for(i = 0; i>= 0; i++); + printf("int\nmax: %d\nmin: %d\n\n", i-1, i); + + char j; + for(j = 0; j>= 0; j++); + printf("char\nmax: %d\nmin: %d\n\n", (char) (j-1), j); + + short k; + for(k = 0; k>= 0; k++); + printf("short\nmax: %d\nmin: %d\n\n", (short) (k-1), k); + + return 0; +} diff --git a/semestre 3/architecture des ordinateurs/tme/tme2/exo1/q2.c b/semestre 3/architecture des ordinateurs/tme/tme2/exo1/q2.c new file mode 100644 index 0000000..4350455 --- /dev/null +++ b/semestre 3/architecture des ordinateurs/tme/tme2/exo1/q2.c @@ -0,0 +1,12 @@ +#include <stdio.h> + +int main(){ + unsigned int i = 0; + i--; + printf("int\nmax: %u\nmin: %d\n\n", i, 0); + + unsigned char j = 0; + j--; + printf("char\nmax: %u\nmin: %d\n\n", (unsigned char) j, 0); + return 0; +} diff --git a/semestre 3/architecture des ordinateurs/tme/tme2/exo2/main b/semestre 3/architecture des ordinateurs/tme/tme2/exo2/main Binary files differnew file mode 100755 index 0000000..593ca11 --- /dev/null +++ b/semestre 3/architecture des ordinateurs/tme/tme2/exo2/main diff --git a/semestre 3/architecture des ordinateurs/tme/tme2/exo2/q1-q2.md b/semestre 3/architecture des ordinateurs/tme/tme2/exo2/q1-q2.md new file mode 100644 index 0000000..d97fd9b --- /dev/null +++ b/semestre 3/architecture des ordinateurs/tme/tme2/exo2/q1-q2.md @@ -0,0 +1,25 @@ +## Question 1 + +S: 0 +E: 1000 0010 +M: 010 0000 0000 0000 0000 0000 + +## Question 2 + +41950e56 + +0100 +0001 +1001 +0101 + +0000 +1110 +0101 +0110 + +S: 0 -> positif +E: 1000 0011 -> -128 + 3 = -125 +M: 001 0101 0000 1110 0101 0110 -> 6 + 5×16 + 14×16^2 + 5×16^4 + 1×16^5 = c'est long +=> 18,632 + diff --git a/semestre 3/architecture des ordinateurs/tme/tme2/exo2/q3.c b/semestre 3/architecture des ordinateurs/tme/tme2/exo2/q3.c new file mode 100644 index 0000000..00e0325 --- /dev/null +++ b/semestre 3/architecture des ordinateurs/tme/tme2/exo2/q3.c @@ -0,0 +1,10 @@ +#include <stdio.h> + +/* premier nombre est 1103888384 */ +/* deuxième est */ +int main(){ + int i; + scanf("%d", &i); + printf("%f\n", *((float*) &i)); + return 0; +} diff --git a/semestre 3/architecture des ordinateurs/tme/tme2/exo3/q1 b/semestre 3/architecture des ordinateurs/tme/tme2/exo3/q1 Binary files differnew file mode 100755 index 0000000..7eeefe1 --- /dev/null +++ b/semestre 3/architecture des ordinateurs/tme/tme2/exo3/q1 diff --git a/semestre 3/architecture des ordinateurs/tme/tme2/exo3/q1.c b/semestre 3/architecture des ordinateurs/tme/tme2/exo3/q1.c new file mode 100644 index 0000000..cac5209 --- /dev/null +++ b/semestre 3/architecture des ordinateurs/tme/tme2/exo3/q1.c @@ -0,0 +1,23 @@ +#include <stdio.h> +float suite(int n){ + if (n == 0) return 1; + return 2*suite(n-1)+1; +} + +unsigned long long int suiteInt(int n){ + if (n==0) return 1; + return 2*suiteInt(n-1)+1; +} + +int main(){ + float val = 1; + int i; + for (i = 0; i < 129 && val > 0; i++) { + val = suite(i); + printf("%d — %f\n", i, val); + printf("%d — %llu\n", i, suiteInt(i)); + } + /* Le code déborde à partir de 127 avec la valeur "inf" + * À partir du 24, la suite devient impaire à cause d'un manque de précision des floats + * */ +} diff --git a/semestre 3/architecture des ordinateurs/tme/tme2/exo4.c b/semestre 3/architecture des ordinateurs/tme/tme2/exo4.c new file mode 100644 index 0000000..0338dec --- /dev/null +++ b/semestre 3/architecture des ordinateurs/tme/tme2/exo4.c @@ -0,0 +1,16 @@ +#include <stdio.h> + +int main(){ + char s[25]; + for (int i = 0; i< 25; i++) s[i] = 0; + scanf("%s", s); + s[24] = '\0'; + for (int i = 0; s[i] != '\0'; i++){ + if (s[i] > 'Z' ) { + printf("%c\n", s[i]); + s[i] = *s - ('a' - 'A'); + } + } + printf("%s\n", s); + return 0; +} diff --git a/semestre 3/architecture des ordinateurs/tme/tme2/exo4.c.bp b/semestre 3/architecture des ordinateurs/tme/tme2/exo4.c.bp new file mode 100644 index 0000000..53259cc --- /dev/null +++ b/semestre 3/architecture des ordinateurs/tme/tme2/exo4.c.bp @@ -0,0 +1,16 @@ +#include <stdio.h> + +int main(){ + char s[25]; + for (int i = 0; i< 25; i++) s[i] = 0; + scanf("%s", s); + s[24] = '\0'; + for (int i = 0; s[i] != '\0'; i++){ + if (s[i] > 'Z' ) { + printf("%c\n", s[i]); + s[i] = (char) ((int) *s - ('a' - 'A')); + } + } + printf("%s\n", s); + return 0; +} diff --git a/semestre 3/architecture des ordinateurs/tme/tme2/main b/semestre 3/architecture des ordinateurs/tme/tme2/main Binary files differnew file mode 100755 index 0000000..781d5c7 --- /dev/null +++ b/semestre 3/architecture des ordinateurs/tme/tme2/main |
