本博文源于笔者正在学习的c语言如何利用位运算输出浮点数数据类型,浮点数在其底部也是用二进制来处理,又考虑到他是低位在前高位在后的原理,因此进行了这样的代码编写
想要用c语言的位运算输出浮点数
#include<stdio.h>
#include<stdlib.h>
int main() {
float f1;
scanf_s("%f", &f1);//初始化浮点数据类型
unsigned char* p = (unsigned char*)&f1;//进行地址转换,共享内存
for (int i = 3; i >= 0; i--) {//高位在后低位在前
unsigned char chs = p[i];
for (int j = 7; j >= 0; j--) {
if (chs & (1 << j)) {
printf("1");
}
else {
printf("0");
}
}
printf(" ");
}
system("pause");
return 0;
}