浮点数和十六进制之间的相互转换
来源:互联网 发布:python-kafka-logging 编辑:程序博客网 时间:2024/05/26 02:54
浮点数和十六进制之间的相互转换
虽然,在网上看到了关于这个内容的帖子和代码,可我觉得并不是很完整或者是并不是很方便(当然我在这里指的只是一些个别的方法而已)。所以我在这里用了一种比较巧妙地的方法来,解决这个问题。
把方法提出之前,先介绍一下union。
“联合”是一种特殊的类,也是一种构造类型的数据结构。在一个“联合”内可以定义多种不同的数据类型,一个被说明为该“联合”类型的变量中,允许装入该“联合”所定义的任何一种数据,这些数据共享同一段内存,以达到节省空间的目的(还有一个节省空间的类型:位域)。(来自于百度百科)
在这里需要注意的是,在任何同一时刻, 共用体只存放了一个被选中的成员, 而结构体的所有成员都存在。
也就是说,“联合”内的成员公用同一个内存空间,可数据是唯一的。这个数据可以被不同的成员以不同方式表达(int,float,char之类的)。所以巧妙地用这个特性是解决这个问题的关键。以下就是c++程序。
#include <cstdio>#include<iostream>using namespace std;int main(){ int brank; while(1) { cout<<"十六进制转换为浮点数请输入 1 ,反之请输入 0"<<endl; cin>>brank; if(brank==1) { union { unsigned int a; float f; }; scanf("%x",&a); printf("%f\n",f); } else if(brank==0) { union { unsigned int a;float f; }; cin>>f; printf("%08x\n",a);//08指的是最少输出长度为8 } else { cout<<"输入有误,请重新输入!"<<endl; } } return 0;}
0 0
- 浮点数和十六进制之间的相互转换
- C# 四个字节十六进制数和单精度浮点数之间的相互转化
- 浮点型和十六进制之间的转换
- ruby中的整数、浮点数、字符串之间的相互转换
- ruby中的整数、浮点数、字符串之间的相互转换
- ruby中的整数、浮点数、字符串之间的相互转换
- ruby中的整数、浮点数、字符串之间的相互转换
- 字符串和十六进制数之间的转换
- 浮点数和整数之间的转换
- 十六进制的数字字符和十六进制数之间的转换
- 二进制数 八进制数 十进制数 十六进制数 之间的相互转换!!!!
- iOS NSData 和十六进制字符串之间的相互转换
- 二进制、八进制、十进制和十六进制之间的相互转换(正数)!
- labview教程:十六进制和ASCII之间的相互转换转
- iOS NSData 和十六进制字符串之间的相互转换
- OC NSData 和十六进制字符串之间的相互转换
- 浮点数与十六进制的转换
- 二进制 八进制 十六进制 之间的相互转换
- C/C++_地址,存储区
- arcgis10.3安装方法说明
- Java数组技巧
- java数组的最大长度是多少?
- sqlite 简单使用
- 浮点数和十六进制之间的相互转换
- UVA - 101 The Blocks Problem(STL,模拟)
- ruby on rails 局部刷新
- Activity生命周期
- Fit background image to div
- Raspberry Pi网线直连Ubuntu(ssh, vnc)
- Android中资源文件的使用
- 【三水哥】HTML中数字输入框内输入字母或者特殊符号,获取输入框内的值为""
- youtube link for review STAT(1)