【已解决】如何用c语言位运算输出浮点数数据

2024-01-07 21:41:20

本博文源于笔者正在学习的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;
}

问题源码实现结果

在这里插入图片描述

文章来源:https://blog.csdn.net/m0_37149062/article/details/135443363
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。