reorganisation + hashmap
This commit is contained in:
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.
@@ -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.
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.
@@ -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()
|
||||||
@@ -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.
Reference in new issue
Block a user