C语音:打印整数二进制的奇数位和偶数位

这篇具有很好参考价值的文章主要介绍了C语音:打印整数二进制的奇数位和偶数位。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

题目:

获取一个整数二进制序列中所有的偶数位奇数位分别打印出二进制序列

                    

 =========================================================================

                       

思路:

总体思路:

(一). 输入数据

                         

(二). 打印奇数位

使用 for循环 循环产生 1~32 之间的偶数

使用 移位操作符 移动偶数位移动后就是奇数位

这时再 按位与1 取出当前位

进行打印。打印完奇数后进行 换行

                     

(三). 打印偶数位

使用 for循环 循环产生 1~32 之间的奇数

使用 移位操作符 移动奇数位移动后就是偶数位

这时再 按位与1 取出当前位

进行打印。打印完奇数后进行 换行

                


                 

第一步:

(1). 输入数据 -- scanf()函数

                     

实现代码:

#include <stdio.h>
int main()
{
	//输入数据:
	int n = 0;
	scanf("%d", &n);


	return 0;
}

实现图片:

C语音:打印整数二进制的奇数位和偶数位

                 


                 

第二步:

打印奇数位

             

(1).使用 for循环 循环产生 1~32 之间的偶数

            

(2).使用 移位操作符 移动偶数位移动后就是奇数位

这时再 按位与1 取出当前位

                

(3).进行打印。打印完奇数后进行 换行

                     

实现代码:

#include <stdio.h>
int main()
{
	//输入数据:
	int n = 0;
	scanf("%d", &n);

	//打印 奇数位 :
	printf("奇数位:");
	//使用 for循环 循环产生 1~32 之间的偶数
	int i = 0;
	for (i = 30; i >= 0; i -= 2)
	//循环产生的偶数位:30 28 26 ...
	{
		//使用 移位操作符 和 按位与 来取出当前位 并打印
		printf("%d", (n >> i) & 1);
		//移位后就是奇数位,按位与1 取出最低位
	}

	//换行
	printf("\n");



	return 0;
}

实现图片:

C语音:打印整数二进制的奇数位和偶数位

                 


                  

第三步:

打印偶数位

             

(1).使用 for循环 循环产生 1~32 之间的奇数

            

(2).使用 移位操作符 移动奇数位移动后就是偶数位

这时再 按位与1 取出当前位

              

实现代码:

#include <stdio.h>
int main()
{
	//输入数据:
	int n = 0;
	scanf("%d", &n);

	//打印 奇数位 :
	printf("奇数位:");
	//使用 for循环 循环产生 1~32 之间的偶数
	int i = 0;
	for (i = 30; i >= 0; i -= 2)
	//循环产生的偶数位:30 28 26 ...
	{
		//使用 移位操作符 和 按位与 来取出当前位 并打印
		printf("%d", (n >> i) & 1);
		//移位后就是奇数位,按位与1 取出当前位
	}

	//换行
	printf("\n");

	//打印 偶数位 :
	printf("偶数位:");
	//使用 for循环 循环产生 1~32 之间的奇数
	for (i = 31; i >= 1; i -= 2)
		//循环产生的奇数位:31 29 27 ...
	{
		//使用 移位操作符 和 按位与 来取出当前位 并打印
		printf("%d", (n >> i) & 1);
		//移位后就是偶数位,按位与1 取出当前位
	}

	return 0;
}

实现图片:

C语音:打印整数二进制的奇数位和偶数位

                    

最终代码和实现效果

最终代码:

#include <stdio.h>
int main()
{
	//输入数据:
	int n = 0;
	scanf("%d", &n);

	//打印 奇数位 :
	printf("奇数位:");
	//使用 for循环 循环产生 1~32 之间的偶数
	int i = 0;
	for (i = 30; i >= 0; i -= 2)
	//循环产生的偶数位:30 28 26 ...
	{
		//使用 移位操作符 和 按位与 来取出当前位 并打印
		printf("%d", (n >> i) & 1);
		//移位后就是奇数位,按位与1 取出当前位
	}

	//换行
	printf("\n");

	//打印 偶数位 :
	printf("偶数位:");
	//使用 for循环 循环产生 1~32 之间的奇数
	for (i = 31; i >= 1; i -= 2)
		//循环产生的奇数位:31 29 27 ...
	{
		//使用 移位操作符 和 按位与 来取出当前位 并打印
		printf("%d", (n >> i) & 1);
		//移位后就是偶数位,按位与1 取出当前位
	}

	return 0;
}

实现效果:

C语音:打印整数二进制的奇数位和偶数位文章来源地址https://www.toymoban.com/news/detail-485492.html

到了这里,关于C语音:打印整数二进制的奇数位和偶数位的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 二进制链表转整数

    给你一个单链表的引用结点 head 。链表中每个结点的值不是 0 就是 1。已知此链表是一个整数数字的二进制表示形式。 请你返回该链表所表示数字的 十进制值 。 示例 1: 示例 2: 示例 3: 示例 4: 示例 5: 代码如下:

    2024年02月14日
    浏览(33)
  • C语言:二进制、八进制、十六进制整数的书写及输出

    目录 一、整型数据类型 二、二进制、八进制、十六进制的书写 1)二进制 以 0b / 0B 开头,不区分大小写(数字0,而非字母o,下同) 2)八进制 以数字 0 开头         3)十六进制 以 0x / 0X 开头, 三、二进制、八进制和十六进制的输出 八进制   (%o): 十六进制   (%x):

    2024年02月05日
    浏览(43)
  • optee打印二进制

    1、将如下代码移植到你的c文件 2、 打印二进制的方法如下所示 print_hex_data(\\\"Cipher Data : \\\", tmp_buf, tmp_sz); print_hex_data(\\\"Plaintext Data : \\\", out_buf, out_sz);

    2024年02月15日
    浏览(29)
  • leetcode 1290.二进制链表转整数

    🌟 leetcode链接:二进制链表转整数 ps: 代码:

    2024年02月14日
    浏览(44)
  • 【进制转换】— 包含整数和小数部分转换(二进制、八进制、十进制、十六进制)手写版,超详细

    目录 1.进制转换必备知识:         1.1 二进制逢2进1         8进制逢8进1           10进制逢10进1        16进制逢16进1         1.2为了区分二、八、十、十六进制,我们通常在数字后面加字母进行区分 2. 二进制与八进制、十六进制相互转换         2.1 二进制转

    2024年02月05日
    浏览(80)
  • 进制转换—包含整数和小数部分转换(二进制、八进制、十进制、十六进制)手写版,超详细

    目录 1.进制转换必备知识:         1.1 二进制逢2进1         8进制逢8进1           10进制逢10进1        16进制逢16进1         1.2为了区分二、八、十、十六进制,我们通常在数字后面加字母进行区分 2. 二进制与八进制、十六进制相互转换         2.1 二进制转

    2023年04月23日
    浏览(40)
  • MATLAB练习题:编写程序将十进制正整数转换为对应的二进制字符向量

     讲解视频:可以在bilibili搜索“MATLAB教程新手入门篇——数学建模清风主讲”。 MATLAB教程新手入门篇(数学建模清风主讲,适合零基础同学观看)_哔哩哔哩_bilibili  编写程序将十进制正整数转换为对应的二进制字符向量。例如6对应的二进制字符向量为\\\'110\\\', 38对应的二进制字

    2024年02月02日
    浏览(33)
  • C语言每日一题之整数求二进制1的个数

    今天分享一道题目,用三种方法来求解 二进制1的个数 方法1 我们的十进制除10和取余数就可以得到我们每一位的数字,那我们的二进制也可 以 这是一种方法,另外一种就是我们可以用移位操作符来算 这个方法是不是也是特别妙呢,当然还有更妙的方法,请看!!! 相信看

    2024年02月15日
    浏览(36)
  • [保研/考研机试] KY30 进制转换-大整数转二进制 清华大学复试上机题 C++实现

    将一个长度最多为30位数字的十进制非负整数转换为二进制数输出。 输入描述: 多组数据,每行为一个长度不超过30位的十进制非负整数。 (注意是10进制数字的个数可能有30个,而非30bits的整数) 输出描述: 每行输出对应的二进制数。 仍然是“除2取余法”,主要的区别在

    2024年02月13日
    浏览(43)
  • C++如何实现将一个整数转化为二进制数(使用尽量少的代码量)

    1、使用容器vector  这种方法非常简洁,当然使用数组也可以用不多的代码来进行实现。 将其转化为容易移植的函数如下: 注意在使用之前一定要#includevector头文件 2、一般数组实现 当然,还没有接触容器的小伙伴们也可以用普通的数组来进行实现,其算法仍然是通过对2取余

    2024年02月15日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包