Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <string.h>
- char res[100];
- char * convert(const char * str) {
- size_t n = strlen(str);
- int iter = (int) n - 1;
- int counter = 0;
- int sz = -1;
- char get[16];
- for (char i = 0; i < 10; ++i) {
- get[i] = ('0' + i);
- }
- for (char i = 0; i < 6; ++i) {
- get[10 + i] = ('A' + i);
- }
- size_t size = (n + 3) / 4;
- // char res[size];
- int cur = 0;
- int base = 1;
- char tmp = 0;
- while (iter >= 0) {
- if (counter == 4) {
- counter = 0;
- res[size - cur - 1] = get[tmp];
- base = 1;
- tmp = 0;
- cur++;
- }
- tmp += base * (str[iter] - '0');
- base *= 2;
- counter++;
- iter--;
- }
- if (counter > 0) {
- res[size - cur - 1] = get[tmp];
- }
- return res;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement