Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include "string.h"
- #include "malloc.h"
- int main() {
- char x[1000000];
- scanf("%s", &x);
- int len = strlen(x), sz = len * 4 + 1;
- char* ans = (char*) malloc(sz);
- memset(ans, '0', sz);
- ans[sz - 1] = 0;
- for (int i = 0; i < len; i++) {
- int tmp = 0;
- if (x[i] >= '0' && x[i] <= '9')
- tmp = x[i]-'0';
- else
- tmp = 10 + (x[i] - 'A');
- int k = 3;
- while (tmp > 0) {
- int t = tmp & 1;
- ans[i * 4 + k] = '0' + t;
- tmp >>= 1;
- k--;
- }
- }
- int len2 = len*4, chek = 0, diff = 0;
- for (int i = 0; i < len2; i++) {
- if (ans[i] != '0') {
- chek = 1;
- diff = i;
- break;
- }
- }
- printf("%s", chek ? ans + diff : "0");
- free(ans);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement