reorganisation + hashmap

This commit is contained in:
Debucquoy committed 2023-04-26 11:24:13 +02:00
1 parent c561eda0cf
commit 454ac6e17e
37 files changed
+162

No files matched your search

File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
+48
View 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;
}
}
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Binary file not shown.
Binary file not shown.
+29
View 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
View 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)
Binary file not shown.
Binary file not shown.
Binary file not shown.