输入一个整数a,再输入两个整数p(p<32),v(0|1),将该整数a的p位设置为v,输出修改后的该整数的二进制表示.
来源:互联网 发布:国资委党员网络培训 编辑:程序博客网 时间:2024/06/06 04:19
输入一个整数a,再输入两个整数p(p<32),v(0|1),将该整数a的p位设置为v,输出修改后的该整数的二进制表示.
程序如下:
/*****************************************************
copyright (C), 2014-2015, Lighting Studio. Co., Ltd.
File name:
Author:fhb Version:0.1 Date: 1027
Description:
Funcion List:
*****************************************************/
#include <stdio.h>
int main()
{
int a,p,v;
int mask = 1 << 31,i;
//构造一个最高位为1,其余各位为0的整数
int tmp;//不改变a的值设置一个临时变量
//输入要求的三个数字
printf("please input an integer:");
scanf("%d",&a);
printf("please input another integer p(p<32):");
scanf("%d",&p);
printf("which number will you change No.%d into(1/0):");
scanf("%d",&v);
//输出原a的二进制表示
printf("%d=",a);
tmp = a;
for(i = 1; i <= 32; i++)
{
putchar(tmp&mask?'1':'0');//输出最高位的值
tmp <<= 1;//将次高位移到最高位
if(i % 4 == 0)
{
printf(",");
}
}
printf("\bB\n");
//将p位设置为v
if(v == 0)
{
a &= ~(1 << p-1);
}
else
{
a |= 1 << p-1;
}
//输出修改后a的二进制表示
printf("%d=",a);
tmp = a;
for(i = 1; i <= 32; i++)
{
putchar(tmp&mask?'1':'0');
tmp <<= 1;
if(i % 4 == 0)
{
printf(",");
}
}
printf("\bB\n");
return 0;
}
copyright (C), 2014-2015, Lighting Studio. Co., Ltd.
File name:
Author:fhb Version:0.1 Date: 1027
Description:
Funcion List:
*****************************************************/
#include <stdio.h>
int main()
{
int a,p,v;
int mask = 1 << 31,i;
//构造一个最高位为1,其余各位为0的整数
int tmp;//不改变a的值设置一个临时变量
//输入要求的三个数字
printf("please input an integer:");
scanf("%d",&a);
printf("please input another integer p(p<32):");
scanf("%d",&p);
printf("which number will you change No.%d into(1/0):");
scanf("%d",&v);
//输出原a的二进制表示
printf("%d=",a);
tmp = a;
for(i = 1; i <= 32; i++)
{
putchar(tmp&mask?'1':'0');//输出最高位的值
tmp <<= 1;//将次高位移到最高位
if(i % 4 == 0)
{
printf(",");
}
}
printf("\bB\n");
//将p位设置为v
if(v == 0)
{
a &= ~(1 << p-1);
}
else
{
a |= 1 << p-1;
}
//输出修改后a的二进制表示
printf("%d=",a);
tmp = a;
for(i = 1; i <= 32; i++)
{
putchar(tmp&mask?'1':'0');
tmp <<= 1;
if(i % 4 == 0)
{
printf(",");
}
}
printf("\bB\n");
return 0;
}
结果如下:
0 0
- 位运算训练04—输入一个整数a,再输入两个整数p(p<32),v(0|1);将该整数a的p位设置为v,输出修改后的该整数的二进制表示
- 输入一个整数a,再输入两个整数p(p<32),v(0|1),将该整数a的p位设置为v,输出修改后的该整数的二进制表示.
- 4.输入一个整数a,再输入两个整数p(p<32),v(0|1),将该整数a的p位设置为v,输出修改后的该整数的二进制表示.
- 输入一个整数a,再输入两个整数p(p<32),v(0|1),将该整数a的p位设置为v,输出修改后的该整数的二进制表示.
- 位运算训练03—输入一个整数a,再输入两个整数p1,p2(p1,p2<32);将该整数的二进制表示方法中从右端开始的p1到p2位取反后输出
- 位运算训练02—输入一个整数a,再输入两个整数p1,p2(p1,p2<32) 输出该整数的二进制表示方法中从右端开始的p1到p2位
- 2.输入一个整数a,再输入两个整数p1,p2(p1,p2<32),输出该整数的二进制表示方法中从右端开始的p1到p2位.
- 输入一个整数a,再输入两个整数p1,p2(p1,p2<32),输出该整数的二进制表示方法中从右端开始的p1到p2位.
- 输入一个整数a,再输入两个整数p1ip2(p1,p2<32),将该整数的二进制表示方法中从右端开始的p1到p2位i
- 28.整数的二进制表示中1的个数 题目:输入一个整数,求该整数的二进制表达中有多少个1。 例如输入10,由于其二进制表示为1010,有两个1,因此输出2。
- 【位操作】输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示
- 输入一个整数,求该整数的二进制表示中有多少个1
- 输入一个整数,求该整数的二进制中1的个数,并输出
- 输入一个整数,输出该整数所有的约数
- 输入一个整数,求该整数的二进制表达中有多少个1。例如输入10,由于其二进制表示为1010,有两个1,因此输出2。
- 输入一个整数,求该整数的二进制表达中有多少个1。例如输入10,由于其二进制表示为1010,有两个1,因此输出2。
- 5.题目:输入一个32位的整数a,使用按位异或^运算,生成一个新的32位整数b,使得该整数b的每一位等于原整数a中该位左右两边两个bit位的异或结果 提示:0 ^ 0 = 0; 1 ^ 1 = 0;
- 输入一个表示整数的字符串,把该字符串转换成整数并输出
- 时光抽控件
- 收集文章链接
- 将日志重定向到文件中的命令
- WPF 中初始化启动窗口
- 百度地图实例开发
- 输入一个整数a,再输入两个整数p(p<32),v(0|1),将该整数a的p位设置为v,输出修改后的该整数的二进制表示.
- iOS快速开发必备的几种类库总结
- Canvas绘图接口(曲线)
- 测试代码的执行时间:%time和%timeit
- Linux中脚本文件的自动执行——crontab命令
- Failed to pull selection
- 【19.27%】【codeforces 618D】Hamiltonian Spanning Tree
- AppBarLayout 介绍和简单使用
- 开发感想