reorganisation + hashmap
This commit is contained in:
parent
c561eda0cf
commit
454ac6e17e
48
q2/algo/hashmap.java
Normal file
48
q2/algo/hashmap.java
Normal file
@ -0,0 +1,48 @@
|
||||
public class hashmap implements Map{
|
||||
|
||||
public static final TAB_SIZE = 1024;
|
||||
Object[] values = new Object[TAB_SIZE];
|
||||
class tuple{ public Object key, values;
|
||||
public tuple(Object key, Object value){
|
||||
this.key = key;
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public hashmap() {
|
||||
}
|
||||
|
||||
public void put(Object key, Object value){
|
||||
int pos = key.hashCode() % values.lenght();
|
||||
if (values[pos] == null){
|
||||
values[pos] = value;
|
||||
return;
|
||||
}
|
||||
if(value[pos] instanceof ArrayList<tuple> t){
|
||||
t.add(new tuple(key, value));
|
||||
return;
|
||||
}
|
||||
Object temp = values[pos];
|
||||
values[pos] = new ArrayList<tuple>;
|
||||
value[pos].add(temp);
|
||||
value[pos].add(new tuple(key, value));
|
||||
}
|
||||
|
||||
public Object get(Object key){
|
||||
int pos = key.hashCode() % values.lenght();
|
||||
if(values[pos].equals(key)){
|
||||
return values[pos].value;
|
||||
}
|
||||
if(values[pos] instanceof ArrayList<tuple> t){
|
||||
for (v : t) {
|
||||
if (v.key.equals(key)){
|
||||
return v.value
|
||||
}
|
||||
}
|
||||
}
|
||||
return null;
|
||||
|
||||
}
|
||||
}
|
||||
|
Binary file not shown.
Binary file not shown.
29
q2/fonctio/tp1/algo_q21.py
Normal file
29
q2/fonctio/tp1/algo_q21.py
Normal file
@ -0,0 +1,29 @@
|
||||
#!/bin/python
|
||||
|
||||
def toBinaryString(user_i:int):
|
||||
squares = [2**i for i in range(32)]
|
||||
squares.reverse()
|
||||
|
||||
ret = ''
|
||||
show = False
|
||||
|
||||
for s in squares:
|
||||
if user_i & s:
|
||||
ret += '1'
|
||||
show=True
|
||||
else:
|
||||
if show:
|
||||
ret += '0'
|
||||
return ret
|
||||
|
||||
|
||||
def main():
|
||||
"""
|
||||
Ask the user for an input
|
||||
"""
|
||||
user_in = input("entrez un nombre :")
|
||||
print(toBinaryString(int(user_in)))
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
85
q2/fonctio/tp1/exercices.md
Normal file
85
q2/fonctio/tp1/exercices.md
Normal file
@ -0,0 +1,85 @@
|
||||
# Exercices
|
||||
|
||||
## Binary
|
||||
|
||||
1) \\( \\)
|
||||
|
||||
2) 4095
|
||||
|
||||
3) 100000 (2) = 32 (10)
|
||||
4) 000010 (2) = 2 (10)
|
||||
5) 111111 (2) = 63 (10)
|
||||
6) 010101 (2) = 21 (10)
|
||||
|
||||
7) 64 (10) = 0100 0000 (2)
|
||||
8) 7 (10) = 0000 0100 (2)
|
||||
9) 192 (10) = 1100 0000 (2)
|
||||
10) 3073 (10) = 0110 0000 0001 (2)
|
||||
|
||||
11) 0x1010 = 4112
|
||||
12) 0x10A0 = 4256
|
||||
13) 0xBABE = 47806
|
||||
|
||||
14) 020 = 16
|
||||
15) 072 = 58
|
||||
|
||||
16) sur papier = 0xCAFE
|
||||
17) sur papier = 02001
|
||||
|
||||
18) 0xCAFE = 1100 1010 1111 1110
|
||||
19) 0xCAFE = 0145376
|
||||
20) 072 = 111010
|
||||
|
||||
21) > ./algo_q21.py
|
||||
|
||||
## Complement a 2
|
||||
|
||||
22)
|
||||
23) \\( -2^11 → 2^11-1 \\)
|
||||
|
||||
24) 17 = 0001 0001
|
||||
25) -17 = 1110 1101
|
||||
26) 255 = 1111 1111 (Imposible car pas dans l'interval)
|
||||
27) -128 = 1000 0000
|
||||
28) -73 = 10110111
|
||||
|
||||
29) 01001111
|
||||
+ 00000001
|
||||
= 01010000
|
||||
|
||||
30) - 10010110 = 01101010
|
||||
|
||||
31) 01001111
|
||||
+ 01000001
|
||||
---------
|
||||
= 10010000 (Overflow, le nombre n'est pas dans la range de nombre accesible sur 8 bits en ca2)
|
||||
|
||||
32) 00000001
|
||||
- 00000010
|
||||
----------
|
||||
= 11111111
|
||||
|
||||
33) 00001001
|
||||
x 00000110
|
||||
----------
|
||||
000010010
|
||||
+ 0000100100
|
||||
------------
|
||||
= 0000110110
|
||||
|
||||
34) 10000001
|
||||
- 10000010
|
||||
----------
|
||||
= 11111111
|
||||
35) - 10000000 = 011111111 (Imposible a representer sur 8 bits)
|
||||
|
||||
36) 00010100
|
||||
/ 00000101
|
||||
----------
|
||||
00000100
|
||||
|
||||
37) 00010111
|
||||
/ 00001001
|
||||
----------
|
||||
00000010 (reste 101)
|
||||
38)
|
BIN
q2/fonctio/tp1/fonct-ordis-tp1-integers.pdf
Normal file
BIN
q2/fonctio/tp1/fonct-ordis-tp1-integers.pdf
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue
Block a user