diff --git a/20160121/aufgabe-1-32bit.c b/20160121/aufgabe-1-32bit.c
new file mode 100644
index 0000000000000000000000000000000000000000..b6cc6231e526a30bb5fc6ec9714989d75e54f8c4
--- /dev/null
+++ b/20160121/aufgabe-1-32bit.c
@@ -0,0 +1,10 @@
+#include <stdio.h>
+#include <stdint.h>
+
+int main (void)
+{
+  uint32_t x = 303108111;
+  char *s = &x;
+  printf ("%s\n", s);
+  return 0;
+}
diff --git a/20160121/aufgabe-1.c b/20160121/aufgabe-1.c
new file mode 100644
index 0000000000000000000000000000000000000000..2afae773ac2d564771ab6dfb473eed664070d3e2
--- /dev/null
+++ b/20160121/aufgabe-1.c
@@ -0,0 +1,10 @@
+#include <stdio.h>
+#include <stdint.h>
+
+int main (void)
+{
+  uint64_t x = 4262939000843297096;
+  char *s = &x;
+  printf ("%s\n", s);
+  return 0;
+}
diff --git a/20160121/aufgabe-3b.c b/20160121/aufgabe-3b.c
new file mode 100644
index 0000000000000000000000000000000000000000..f04e8a54e1de53f2821481b73584e289af4bb0a4
--- /dev/null
+++ b/20160121/aufgabe-3b.c
@@ -0,0 +1,21 @@
+#include <stdio.h>
+#include <stdint.h>
+
+uint8_t repair (uint8_t data)
+{
+  uint8_t new_data = 0;
+  for (int i = 0; i < 8; i++)
+    if ((data >> i) % 2)
+      new_data |= 1 << (7 - i);
+  return new_data;
+}
+
+int main (void)
+{
+  printf ("%3d %3d\n", 94, repair (94));
+  printf ("%3d %3d\n", 47, repair (47));
+  printf ("%3d %3d\n", 30, repair (30));
+  printf ("%3d %3d\n", 24, repair (24));
+  printf ("%3d %3d\n", 21, repair (21));
+  return 0;
+}