给一个int型变量并且赋值,我们知道这个整型数字是4位,所以其二进制码有32位,我们可以写一个代码,实现得到其偶数序列和奇数序列。
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<string.h>
int main()
{
int tmp = 0;
int i = 0;
int s1[20] = { 0 };/*奇数序列*/
int s2[20] = { 0 };/*偶数序列*/
printf("请输入值:>");
scanf("%d", &tmp);
int value = tmp;
for (i = 0; i < 32; i++)
{
switch(i%2)
{
case 0:
s1[i / 2] = value & 1;
break;
case 1:
s2[i / 2] = value & 1;
break;
default:
break;
}
value >>= 1;
}
printf("左边序列为:>");
for (i = 15; i >= 0; i--)
{
printf("%d", s1[i]);
}
printf("\n右边序列为:>");
for (i = 15; i >= 0; i--)
{
printf("%d", s2[i]);
}
printf("\n");
return 0;
}
问题出现在,我在输入到偶数序列和奇数序列的时候的值和自己所预想的值正好相反,所以我选择把循环掉一下,以此实现正确的结果。
时间: 2024-10-08 04:28:06