nihonium
/
mipt_clang
Archived
1
0
Fork 0

broadcast, complement, size

remotes/private/master
nihonium 2 years ago
parent 4c7c133abf
commit f5953dd54e

@ -0,0 +1,17 @@
#include <stdio.h>
int main() {
unsigned int ip[4];
unsigned int netmask[4];
unsigned int broadcast[4] = {0, 0, 0, 0};
int i;
scanf("%d.%d.%d.%d", &ip[0], &ip[1], &ip[2], &ip[3]);
scanf("%d.%d.%d.%d", &netmask[0], &netmask[1], &netmask[2], &netmask[3]);
for (i = 0; i < 4; ++i) {
broadcast[i] = (ip[i] & netmask[i]) | (~netmask[i] & 255);
}
for (i = 0; i < 3; ++i)
printf("%d.", broadcast[i]);
printf("%d", broadcast[3]);
}

@ -0,0 +1,15 @@
#include <stdio.h>
int main() {
int i;
char y;
scanf("%hhd", &y);
if (y < 0)
y = ~(-y) + 1;
for (i = 7; i >= 0; --i) {
printf("%d", (y >> i) & 1);
}
return 0;
}

@ -0,0 +1,29 @@
#include <stdio.h>
#include <string.h>
int main() {
char s;
int len_f = 0;
int len_d = 0;
int len_ld = 0;
s = getchar();
float xf = 0.5;
double xd = 0.5;
long double xld = 0.5;
for (; (float)1.0 + xf != (float)1.0; ++len_f, xf /= 2);
for (; 1.0 + xd != 1.0; ++len_d, xd /= 2);
for (; 1.0 + xld != 1.0; ++len_ld, xld /= 2);
if (s == 'f') {
printf("%d", len_f);
}
if (s == 'd') {
printf("%d", len_d);
}
if (s == 'l') {
printf("%d", len_ld);
}
}