/*=========================================
编译器: VC6.0 VC8.0
函数: void ShowBinary (float num);
功能描述:
显示 整型 浮点型 正负数的补码
=========================================*/
#include <iostream>
void ShowBinary (float num);
int main()
{
using namespace std;
float n;
while(1)
{
cout << "输入一个数:\n";
cin >> n;
ShowBinary(n);
}
system("pause");
return 0;
}
void ShowBinary (float num)
{
using namespace std;
float tem;
tem = num; // 保存浮点数
int n; // 转换成整型
n = (int) tem;
int * p; // 指向 符号整型数
if (num > 0) // 若num为正数
{
if (tem - n > 0)
p = (int *) &tem; // 若小数部分不为0,指向浮点数的地址
else
p = (int *) &n; // 若小数部分为0, 指向整型的地址
}
else // 若num为负数
{
if (n - tem > 0)
p = (int *) &tem;
else
p = (int *) &n;
}
int nu = *p;
int i;
int temp[32];
for (i = 0; i < 32; i++)
{
temp[i] = nu & 1;
nu >>= 1;
}
for (i = 31; i >= 0; i--)
{
cout << temp[i];
if ((i) % 4 == 0)
cout << " ";
}
cout << endl;
}
非汇编指令实现 显示 整型,浮点型, 正负数的32位补码
最新推荐文章于 2023-03-02 13:56:57 发布