Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- int hex_to_bin(char*, int); // из 16 с.с. в 2 с.с и подсчёт нечётных битов
- int main()
- {
- char c; // Символ из потока ввода
- char m[999]; // Массив символов
- int counter = 0; // Количество элементов в массиве
- while((c = getchar()) != '\n')
- {
- m[counter] = c;
- counter++;
- }
- printf("%d", hex_to_bin(m, counter));
- return 0;
- }
- int hex_to_bin(char* m, int counter)
- {
- int i;
- int elem_a = 0;
- int answer = 0;
- char a[999];
- for(i = 0; i < counter; i++) // Быстрый перевод
- {
- if(m[i] == '0')
- {
- a[elem_a] = '0';
- elem_a++;
- a[elem_a] = '0';
- elem_a++;
- a[elem_a] = '0';
- elem_a++;
- a[elem_a] = '0';
- elem_a++;
- }
- if(m[i] == '1')
- {
- a[elem_a] = '0';
- elem_a++;
- a[elem_a] = '0';
- elem_a++;
- a[elem_a] = '0';
- elem_a++;
- a[elem_a] = '1';
- elem_a++;
- }
- if(m[i] == '2')
- {
- a[elem_a] = '0';
- elem_a++;
- a[elem_a] = '0';
- elem_a++;
- a[elem_a] = '1';
- elem_a++;
- a[elem_a] = '0';
- elem_a++;
- }
- if(m[i] == '3')
- {
- a[elem_a] = '0';
- elem_a++;
- a[elem_a] = '0';
- elem_a++;
- a[elem_a] = '1';
- elem_a++;
- a[elem_a] = '1';
- elem_a++;
- }
- if(m[i] == '4')
- {
- a[elem_a] = '0';
- elem_a++;
- a[elem_a] = '1';
- elem_a++;
- a[elem_a] = '0';
- elem_a++;
- a[elem_a] = '0';
- elem_a++;
- }
- if(m[i] == '5')
- {
- a[elem_a] = '0';
- elem_a++;
- a[elem_a] = '1';
- elem_a++;
- a[elem_a] = '0';
- elem_a++;
- a[elem_a] = '1';
- elem_a++;
- }
- if(m[i] == '6')
- {
- a[elem_a] = '0';
- elem_a++;
- a[elem_a] = '1';
- elem_a++;
- a[elem_a] = '1';
- elem_a++;
- a[elem_a] = '0';
- elem_a++;
- }
- if(m[i] == '7')
- {
- a[elem_a] = '0';
- elem_a++;
- a[elem_a] = '1';
- elem_a++;
- a[elem_a] = '1';
- elem_a++;
- a[elem_a] = '1';
- elem_a++;
- }
- if(m[i] == '8')
- {
- a[elem_a] = '1';
- elem_a++;
- a[elem_a] = '0';
- elem_a++;
- a[elem_a] = '0';
- elem_a++;
- a[elem_a] = '0';
- elem_a++;
- }
- if(m[i] == '9')
- {
- a[elem_a] = '1';
- elem_a++;
- a[elem_a] = '0';
- elem_a++;
- a[elem_a] = '0';
- elem_a++;
- a[elem_a] = '1';
- elem_a++;
- }
- if(m[i] == 'A' || m[i] == 'a')
- {
- a[elem_a] = '1';
- elem_a++;
- a[elem_a] = '0';
- elem_a++;
- a[elem_a] = '1';
- elem_a++;
- a[elem_a] = '0';
- elem_a++;
- }
- if(m[i] == 'B' || m[i] == 'b')
- {
- a[elem_a] = '1';
- elem_a++;
- a[elem_a] = '0';
- elem_a++;
- a[elem_a] = '1';
- elem_a++;
- a[elem_a] = '1';
- elem_a++;
- }
- if(m[i] == 'C' || m[i] == 'c')
- {
- a[elem_a] = '1';
- elem_a++;
- a[elem_a] = '1';
- elem_a++;
- a[elem_a] = '0';
- elem_a++;
- a[elem_a] = '0';
- elem_a++;
- }
- if(m[i] == 'D' || m[i] == 'd')
- {
- a[elem_a] = '1';
- elem_a++;
- a[elem_a] = '1';
- elem_a++;
- a[elem_a] = '0';
- elem_a++;
- a[elem_a] = '1';
- elem_a++;
- }
- if(m[i] == 'E' || m[i] == 'e')
- {
- a[elem_a] = '1';
- elem_a++;
- a[elem_a] = '1';
- elem_a++;
- a[elem_a] = '1';
- elem_a++;
- a[elem_a] = '0';
- elem_a++;
- }
- if(m[i] == 'F' || m[i] == 'f')
- {
- a[elem_a] = '1';
- elem_a++;
- a[elem_a] = '1';
- elem_a++;
- a[elem_a] = '1';
- elem_a++;
- a[elem_a] = '1';
- elem_a++;
- }
- }
- for(i = elem_a - 1; i >= 0; i -= 2)
- {
- if(a[i] == '1') answer++;
- }
- return answer;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement