c语言第一周作业
来源:互联网 发布:js获取当前时间格式化 编辑:程序博客网 时间:2024/05/17 23:23
1.设置a的bit3位置为1,保持其他位不变
#include<stdio.h>
int main(int args,char ** argv)
{
//设置a的bit3位置为1;
int a=7;
a=(1<<3) |a;
printf("a=%d.\n",a);
//15
// 0111
// 1000
//或 1111
int b=0b11;
b=(1<<3) |b;
printf("b=%d.\n",b);
int main(int args,char ** argv)
{
//设置a的bit3位置为1;
int a=7;
a=(1<<3) |a;
printf("a=%d.\n",a);
//15
// 0111
// 1000
//或 1111
int b=0b11;
b=(1<<3) |b;
printf("b=%d.\n",b);
//给出常用数据类型的位数
printf("char=%d.\n",sizeof(char)) ;
printf("short=%d.\n",sizeof(short)) ;
printf("int=%d.\n",sizeof(int)) ;
printf("long=%d.\n",sizeof(long)) ;
printf("float=%d.\n",sizeof(float)) ;
printf("double=%d.\n",sizeof(double)) ;
return 0;
}
printf("char=%d.\n",sizeof(char)) ;
printf("short=%d.\n",sizeof(short)) ;
printf("int=%d.\n",sizeof(int)) ;
printf("long=%d.\n",sizeof(long)) ;
printf("float=%d.\n",sizeof(float)) ;
printf("double=%d.\n",sizeof(double)) ;
return 0;
}
2.给定一个整数a,设置a的bit3-7位为1,保持其他位不变;
#include<stdio.h>
int main(int args,char ** argv)
{
//给定一个整数a,设置a的bit3-7位为1;
int a=1;
int main(int args,char ** argv)
{
//给定一个整数a,设置a的bit3-7位为1;
int a=1;
a=(0b11111<<3)|a;
// 11111000
// 00000001
// 11111001=249
// 11111000
// 00000001
// 11111001=249
printf("a=%d.\n",a);
return 0;
}
return 0;
}
3.给定一个整数a,清楚a的bit15(为0),保证其他为不变
#include<stdio.h>
int main(int args,char ** argv)
{
//给定一个整数a,清楚a的bit15(为0),保证其他为不变
int a=0b1000000000001111;
printf("a=%d.\n",a);
a=~(1<<15)&a;//按位与
printf("a=%d.\n",a);
return 0;
}
int main(int args,char ** argv)
{
//给定一个整数a,清楚a的bit15(为0),保证其他为不变
int a=0b1000000000001111;
printf("a=%d.\n",a);
a=~(1<<15)&a;//按位与
printf("a=%d.\n",a);
return 0;
}
4.给定一个整数a,清楚a的bit15-23w位置(为0),保证其他为不变
#include<stdio.h>
int main(int args,char ** argv)
{
//给定一个整数a,清楚a的bit15-23w位置(为0),保证其他为不变
int a=0b11000000010001111;
printf("a=%d.\n",a);
a=~(0b11111111<<15)&a;//按位与
printf("a=%d.\n",a);
return 0;
}
int main(int args,char ** argv)
{
//给定一个整数a,清楚a的bit15-23w位置(为0),保证其他为不变
int a=0b11000000010001111;
printf("a=%d.\n",a);
a=~(0b11111111<<15)&a;//按位与
printf("a=%d.\n",a);
return 0;
}
5.给定一个整数a,去除a的bit3-8w位置值
#include<stdio.h>
int main(int args,char ** argv)
{
//给定一个整数a,去除a的bit3-8w位置值
int a=0b11000000011111111;
printf("a=%d.\n",a);
a=(0b111111<<3)&a;//按位与
printf("a=%d.\n",a);
a=a>>3;
printf("a的bit3-8位的整数型是=%d.\n",a); //整数型出现
printf("a的bit3-8位的10进制是=%u.\n",a); //10进驻型出现
printf("a的bit3-8位的16进制是=%x.\n",a);//16进制出现
return 0;
}
int main(int args,char ** argv)
{
//给定一个整数a,去除a的bit3-8w位置值
int a=0b11000000011111111;
printf("a=%d.\n",a);
a=(0b111111<<3)&a;//按位与
printf("a=%d.\n",a);
a=a>>3;
printf("a的bit3-8位的整数型是=%d.\n",a); //整数型出现
printf("a的bit3-8位的10进制是=%u.\n",a); //10进驻型出现
printf("a的bit3-8位的16进制是=%x.\n",a);//16进制出现
return 0;
}
6.给定一个整数a的bit7-17位置赋值973(其余为不受影响)
#include<stdio.h>
int main(int args,char ** argv)
{
//给定一个整数a的bit7-17位置赋值973(其余为不受影响)
int a=0b11000000000000001;
printf("a=%d.\n",a); //98305
a=~(0b11111111111<<7)&a;//按位与
printf("a=%d.\n",a); //1
//a=(0b1111001101<<7)|a;
a=(973<<7)|a;
printf("a=%d.\n",a); //124545=973*2^7+1;
return 0;
}
int main(int args,char ** argv)
{
//给定一个整数a的bit7-17位置赋值973(其余为不受影响)
int a=0b11000000000000001;
printf("a=%d.\n",a); //98305
a=~(0b11111111111<<7)&a;//按位与
printf("a=%d.\n",a); //1
//a=(0b1111001101<<7)|a;
a=(973<<7)|a;
printf("a=%d.\n",a); //124545=973*2^7+1;
return 0;
}
7.用c语言将一个整形数的bit7-17中的值加17(其余为不受影响)
#include<stdio.h>
int main(int args,char ** argv)
{
//用c语言将一个整形数的bit7-17中的值加17(其余为不受影响)
int a=0b11000000000000001;
printf("a=%d.\n",a); //98305
//0b011000000000000001
//方法1取出a中的bit7到17位和17按位取或。
//01100000000
//00000010001
//01100010001
//011000100010000001
int b=0b011000100010000001;
printf("b=%d.\n",b);
// 方法二 把17的二进制向左平移7位与a取或。
a+=(17<<7); //100481=98305+17*2^7
//输出整数a
printf("a=%d.\n",a);
//输出16进制a
printf("a=%x.\n",a);
//输出16进制100481=98305+17*2^7
printf("a=%x.\n",100481);
return 0;
}
int main(int args,char ** argv)
{
//用c语言将一个整形数的bit7-17中的值加17(其余为不受影响)
int a=0b11000000000000001;
printf("a=%d.\n",a); //98305
//0b011000000000000001
//方法1取出a中的bit7到17位和17按位取或。
//01100000000
//00000010001
//01100010001
//011000100010000001
int b=0b011000100010000001;
printf("b=%d.\n",b);
// 方法二 把17的二进制向左平移7位与a取或。
a+=(17<<7); //100481=98305+17*2^7
//输出整数a
printf("a=%d.\n",a);
//输出16进制a
printf("a=%x.\n",a);
//输出16进制100481=98305+17*2^7
printf("a=%x.\n",100481);
return 0;
}
8.用c语言给一个正式a的bit7-17位置赋值937,同时给bit21-25赋值17;
#include<stdio.h>
int main(int args,char ** argv)
{
//用c语言给一个正式a的bit7-17位置赋值937,同时给bit21-25赋值17;
int a=0b0001100011000000000000001;
printf("a=%d.\n",a); //98305
a=~(0b11111111111<<7)&a;//按位与,清空a的bit7-17位置
a=(937<<7)|a; // 给a的bit7-17位置赋值937
a=~(0b11111<<21)&a;//按位与,清空a的bit21-25位置
a=(17<<21)|a; // 给a的bit7-17位置赋值937
printf("a=%d.\n",a); //124545=973*2^7+1;
return 0;
}
int main(int args,char ** argv)
{
//用c语言给一个正式a的bit7-17位置赋值937,同时给bit21-25赋值17;
int a=0b0001100011000000000000001;
printf("a=%d.\n",a); //98305
a=~(0b11111111111<<7)&a;//按位与,清空a的bit7-17位置
a=(937<<7)|a; // 给a的bit7-17位置赋值937
a=~(0b11111<<21)&a;//按位与,清空a的bit21-25位置
a=(17<<21)|a; // 给a的bit7-17位置赋值937
printf("a=%d.\n",a); //124545=973*2^7+1;
return 0;
}
阅读全文
0 0
- c语言第一周作业
- C语言入门-第一周:作业01
- C语言进阶-第一周:作业01
- c语言,作业,11月最后一周。
- 第一周作业
- 第一周作业
- java第一周作业
- 操作系统 : 第一周作业
- 第一周作业
- 第一周作业
- Java第一周作业
- 第一周作业
- 第一周课外作业
- 算法第一周作业
- 算法第一周作业
- C++第一周作业
- 第一周作业
- 第一周作业
- Oracle 缓冲区命中率低的分析及解决办法
- psql copy命令导入导出数据
- Spark错误汇总
- CF486D Valid Sets(枚举+树形dp)
- 滚轮事件(wheel)与Transform实现图片上下翻滚
- c语言第一周作业
- 第一篇博客之Android编译环境配置---离线Gradle
- 学习水晶头制作
- 顺序表的相关操作
- Dubbo学习总结
- Qt5学习-模板库、工具类、控件-1
- POJ 1469COURSES
- VHDL中信号与变量的区别及赋值的讨论
- psql -W