数据类型的自定义(2)

时间:2021-09-19 16:10:59

Description

键盘输入一个单精度实数,用八进制输出其在内存中的存储状态。

例如:键盘输入12.36,12.36在内存中存储为4个字节,是如下的状态:01000001 01000101 11000010 10001111(这个存储状态是根据浮点数的存储标准----IEEE754标准计算出来的)

分组(自右至左每三位一组): 01 000 001 010 001 011 100 001 010 001 111

所以八进制的输出结果是:10121341217

提示:利用共用体,让实数与某种数据共享4个字节的内存,而那种数据是可以用八进制输出的

 

Input

输入一个单精度实数

Output

用八进制输出其在内存中的存储状态

Sample Input

12.36

Sample Output

10121341217
 

#include<stdio.h>
union U
{
float a;
int b;
};
int main()
{
union U u;
scanf("%f",&u.a);
printf("%o",u.b);
}

 

Description

键盘输入一个short型整数,问:若把它当作是两个字符,则这两个字符各是什么?

Input

输入一个短整数

Output

输出两个字符,先输出低位字节的,再输出高位字节的

Sample Input

16706

Sample Output

B,A

#include<stdio.h>
#include<stdlib.h>
union U
{
short a;
char b[2];
};
int main()
{
union U u;
scanf("%d",&u.a);
printf("%c,%c",u.b[0],u.b[1]);
return 0;
}