Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <string.h>
- #include "stdlib.h"
- union u {
- char data[sizeof(long double)];
- long double ldb;
- double db;
- float fl;
- };
- int main() {
- union u X;
- memset(X.data, 0, sizeof(long double));
- char t[10] = {0};
- char elem = 0;
- int space_chek = 1, start = 0;
- scanf("%s", &t);
- if (strstr(t, "float") != NULL) {
- scanf("%f", &X.fl);
- start = sizeof(float) * 8;
- }
- else if (strstr(t, "double") == t) {
- scanf("%lf", &X.db);
- start = sizeof(double) * 8;
- }
- else {
- scanf("%s", &t);
- scanf("%Lf", &X.ldb);
- start = sizeof(long double) * 8;
- }
- for (int i = --start; i >= 0; i--) {
- int ind1 = i/8, ind2 = i%8;
- elem = X.data[ind1] >> ind2 & 1;
- printf("%d", elem);
- if (space_chek % 4 == 0)
- printf(" ");
- space_chek++;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement