C语言----获取一个整数二进制序列中所有的偶数位和奇数位,分别打印出二进制序列

简介: C语言----获取一个整数二进制序列中所有的偶数位和奇数位,分别打印出二进制序列
//获取一个整数二进制序列中所有的偶数位和奇数位,分别打印出二进制序列
 
//整数的二进制表示
void printBinary(int number)
{
    for (int i = 0; i < 32; i++)
    {
        printf("%d", (number >> (31 - i)) & 1);
        /*(number >> (31 - i))是一个右移操作
        当 i = 0 时,我们计算 (number >> (31 - 0)) & 1,即 (number >> 31) & 1。
         因为 number 被右移了31位,所以只有最高位(在这里是0)参与按位与操作,
         结果是 0。
 
        从最高位开始和1开始进行按位与
        对应的二进制,有0就是0,两个是1才是1
        1的二进制数仅仅只有最低位的数字是1,其他的全是0
        所以将一个数和1按位与就是想把那个数的最低位提取出来
        num >>31位的最低位就是最先的第一位,然后通过i的变化
        逐步将你输入的值的二进制数每一位都提取出来
    */
    }
    printf("\n");
}
 
int main()
{
    int number;
    printf("请输入一个整数:");
    scanf("%d", &number);
 
    printf("整数的二进制表示为:");
    printBinary(number);
 
 
    printf("偶数的二进制表示为:");
    //偶数位从0开始的,每个偶数位间隔为2
    for (int i = 0; i < 32; i += 2)
    {
        printf("%d", (number >> i) & 1);//将二进制的偶数位上面的数提取出来
                                       //随着i的变化,每次加2,都是偶数位
    }
    printf("\n");
 
 
    printf("奇数位二进制表示为:");
    //奇数位从1开始的,间隔是2
    for (int i = 1; i < 32; i += 2)
    {
        printf("%d", (number >> i) & 1);
    }
    printf("\n");
 
    return 0;
}
目录
相关文章
|
9月前
|
存储 网络协议 算法
【C语言】进制转换无难事:二进制、十进制、八进制与十六进制的全解析与实例
进制转换是计算机编程中常见的操作。在C语言中,了解如何在不同进制之间转换数据对于处理和显示数据非常重要。本文将详细介绍如何在二进制、十进制、八进制和十六进制之间进行转换。
779 5
|
存储 C语言
【C语言刷题系列】求一个数组中两个元素a和b的和最接近整数m
【C语言刷题系列】求一个数组中两个元素a和b的和最接近整数m
|
C语言
【C语言刷题系列】交换整数的奇数位和偶数位
【C语言刷题系列】交换整数的奇数位和偶数位
|
存储 C语言
【C语言进阶篇】整数在内存的存储——原码、反码、补码
【C语言进阶篇】整数在内存的存储——原码、反码、补码
|
3天前
|
存储 C语言
`scanf`是C语言中用于按格式读取标准输入的函数
`scanf`是C语言中用于按格式读取标准输入的函数,通过格式字符串解析输入并存入指定变量。需注意输入格式严格匹配,并建议检查返回值以确保读取成功,提升程序健壮性。
157 0
|
2月前
|
安全 C语言
C语言中的字符、字符串及内存操作函数详细讲解
通过这些函数的正确使用,可以有效管理字符串和内存操作,它们是C语言编程中不可或缺的工具。
238 15
|
8月前
|
存储 算法 C语言
【C语言程序设计——函数】素数判定(头歌实践教学平台习题)【合集】
本内容介绍了编写一个判断素数的子函数的任务,涵盖循环控制与跳转语句、算术运算符(%)、以及素数的概念。任务要求在主函数中输入整数并输出是否为素数的信息。相关知识包括 `for` 和 `while` 循环、`break` 和 `continue` 语句、取余运算符 `%` 的使用及素数定义、分布规律和应用场景。编程要求根据提示补充代码,测试说明提供了输入输出示例,最后给出通关代码和测试结果。 任务核心:编写判断素数的子函数并在主函数中调用,涉及循环结构和条件判断。
370 23
|
7月前
|
人工智能 Java 程序员
一文彻底搞清楚C语言的函数
本文介绍C语言函数:函数是程序模块化的工具,由函数头和函数体组成,涵盖定义、调用、参数传递及声明等内容。值传递确保实参不受影响,函数声明增强代码可读性。君志所向,一往无前!
184 1
一文彻底搞清楚C语言的函数
|
8月前
|
算法 C语言
【C语言程序设计——函数】利用函数求解最大公约数和最小公倍数(头歌实践教学平台习题)【合集】
本文档介绍了如何编写两个子函数,分别求任意两个整数的最大公约数和最小公倍数。内容涵盖循环控制与跳转语句的使用、最大公约数的求法(包括辗转相除法和更相减损术),以及基于最大公约数求最小公倍数的方法。通过示例代码和测试说明,帮助读者理解和实现相关算法。最终提供了完整的通关代码及测试结果,确保编程任务的成功完成。
307 15
【C语言程序设计——函数】利用函数求解最大公约数和最小公倍数(头歌实践教学平台习题)【合集】