⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 1265 floating point presentation.cpp

📁 ACM 威士忌部分答案
💻 CPP
字号:
#include <cstdio>
using namespace std;
int main()
{
	int n,t,i,j,p;
	unsigned int e ,m[23];
	float f;
	scanf("%d",&n);
	while(n--)
	{
		scanf("%f",&f);
		for(i=0;i<23;i++)
			m[i]=0;
		if(f<0)
		{	t=0x80000000;f=-f;}
		else
		{
			t=0;
			if(f==0)
			{	printf("%X\n",t);continue;}
		}
		e=0;
		while(f>=2)
		{
			f/=2;
			e++;
		}
		e+=127;
		f--;
		i=0;
		while(f>0 && i<23)
		{
			f*=2;
			if(f>=1)
			{	m[i]=1;f--;}
			else
				m[i]=0;
			i++;
		}
		e<<=23;
		t=t | e;
		p=0x400000;
		for(i=0;i<23;i++,p>>=1)
		{
			if(m[i])
				t= t | p;
		}
		printf("%X\n",t);
	}
	return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -