学习日志 姓名: 张福辉 日期:2018.7.16
|
|
今日学习任务
| 1.常量,变量的定义 2.CPU是如何调用内存中的资源的 3.自增自减运算符的使用 4.位运算符的使用 |
今日任务完成情况
(详细说明本日任务是否按计划完成,开发的代码量) | 按规定完成任务 |
今日开发中出现的问题汇总
| 无 |
今日未解决问题
| 无 |
今日开发收获 | 1.对CPU是如何对内存中的资源进行使用有了深刻了解,对虚拟地址空间的分布有了了解 2.对自增自减运算符有了深入理解 3.对位运算符的特定位使用基本掌握 |
自我评价
(是否按开发规范完成既定任务,需要改进的地方,与他人合作效果等)
| 按规定完成了当日任务,在一些比较复杂的逻辑上需要较长时间思考 |
其他
| 无 |
1.通过数组来实现输出一个整型数的32为二进制数
#include <stdio.h>
int main()
{
int i;
int num;
int temp;
int a[32];
printf("请输入num:\n");
scanf("%d", &num);
temp = num;
for(i = 0; i <= 32; i++)
{
if(1 == (num & 1))
{
a[31 - i] = 1;
}
if(0 == (num & 1))
{
a[31 - i] = 0;
}
num = num >> 1;
}
printf("%d的32位二进制数表示为:\n", temp);
for(i = 0; i < 32; i++)
{
printf("%d", a[i]);
if(0 == (i + 1) % 4)
{
printf(" ");
}
}
printf("\n");
return 0;
}
2.通过位运算符和移位来实现输出一个整型数的32为二进制数
#include <stdio.h>
void int2bin(unsigned int num)
{
int i;
unsigned int mask = 0x80000000;
printf("result:\n");
for(i = 0; i < 32; i++)
{
if((num & mask) == mask)
{
printf("1");
}
else
{
printf("0");
}
if(((i + 1) % 4) == 0)
{
printf(" ");
}
num = num << 1;
}
printf("\n");
}
int main()
{
unsigned int num;
printf("Please input number:\n");
scanf("%u", &num);
int2bin(num);
return 0;
}
3.今日的任务