获取一个数二进制序列中所有的偶数位和奇数位,分别输出二进制序列。
- #include <stdio.h>
- int main()
- {
- int a, i=0;
- int arr1[16], arr2[16];
- scanf_s("%d", &a);
- while(i < 32)
- {
- arr1[i/ 2] = a % 2;
- a = a>> 1;
- i++;
- arr2[(i-1)/ 2] = a % 2;
- a = a>> 1;
- i++;
- }
- printf("奇数列二进制序列为:");
- for(i = 15; i >= 0; i--)
- {
- printf("%d", arr1[i]);
- }
- printf("\n偶数列二进制序列为:");
- for(i = 15; i >= 0; i--)
- {
- printf("%d", arr2[i]);
- }
- system("pause");
- return 0;
- }
修正后的程序:
- #include <stdio.h>
- int main()
- {
- int num = 8;
- int i = 0;
- for(i=30; i>=0; i-=2)
- {
- printf("%d ", (num>>i)&1);
- }
- printf("\n");
- for(i=31; i>=1; i-=2)
- {
- printf("%d ", (num>>i)&1);
- }
- system("pause");
- return 0;
- }