(1)
#include <stdio.h>
#include <windows.h>
#pragma warning(disable:4996)
int main()
{
int num = 0;
int i = 0;
int j = 0;
scanf("%d", &num);
for (i = 31; i >= 0; i -= 2)//不用数组,从最高位开始
{
printf("%d",(num >> i) & 1); //偶位
}
printf("\n");
for (i = 30; i >= 0; i -= 2)
{
printf("%d", (num >> i) & 1); //奇数位
}
system("pause");
return 0;
}
(2)
#include <stdio.h>
#include <windows.h>
#pragma warning(disable:4996)
int main()
{
int num = 0;
int i = 0;
int j = 0;
char arr1[16];
char arr2[16];
scanf("%d", &num);
for (i = 0; i < 32; i += 2)
{
arr1[j] = ((num >> i) & 1); //奇数位
j++;
}
j = 0;//因为在上面的for循环中j已经成为最大16
for (i = 1; i < 32; i += 2)
{
arr2[j] = ((num >> i) & 1);//偶数位
j++;
}
for (j = 15; j >= 0; j--)
{
printf("%d", arr1[j]);
}
printf("\n");
for (j = 15; j >= 0; j--)
{
printf("%d", arr2[i]);
}
system("pause");
return 0;
}
获取一个数二进制序列中所有的偶数位和奇数位,分别输出二进制序列。
最新推荐文章于 2020-12-18 18:16:33 发布