16进制浮点数与带符号10进制互相转换

C++单、双精度浮点数16进制转10进制原理及代码 浮点数有两种:单精度float(4字节) 和 双精度double(8字节)。本文介绍浮点数16进制转10进制的原理及C++代码。 阅读详情

16进制浮点数与 带符号10进制 互相转换直接见代码:
有时候需要对16进制数转为带符号的10进制数,在jdk8中可以使用如下解决方案。

1.代码

import java.math.BigInteger;

/**
 * @author yangl-006305
 * @version V1.0
 * @date 2020-08-28 
 */
public class BigIntegerTest {

    public static void main(String[] args) {

        /**
         * (1):16进制浮点数转10进制(不带符号)
         */
        String s = "41a4c000";
        Float value = Float.intBitsToFloat(Integer.valueOf(s.trim(), 16));
        System.out.println("16进制浮点数转10进制=" + value);
        Float f = 20.59375f;
        System.out.println("10进制浮点数转16进制=" + Integer.toHexString(Float.floatToIntBits(f)));

        /**
         * 但是这种转换会存在一个问题:如果这个16进制的值为负数,那么会发生异常
         */
       /* String b = "c1a4c000" ;
        Float value1 = Float.intBitsToFloat(Integer.valueOf(b.trim(), 16));
        System.out.println(value1);*/

        /**
         * (2)16进制浮点数转10进制(带符号)
         */

        String c = "c1a4c000" ;
        System.out.println(hexToFloat(c));


        Float h = -20.59375f ;
        System.out.println(folatToHexString(h));

    }

    /**
     * 将 4字节的16进制字符串,转换为32位带符号的十进制浮点型
     * @param str 4字节 16进制字符
     * @return
     */
    public static float hexToFloat(String str){
        return Float.intBitsToFloat(new BigInteger(str, 16).intValue());
    }

    /**
     * 将带符号的32位浮点数装换为16进制
     * @param value
     * @return
     */
    public static String folatToHexString (Float value){
        return Integer.toHexString(Float.floatToIntBits(value));
    }
}

2.输出结果:

16进制浮点数转10进制=20.59375
10进制浮点数转16进制=41a4c000
-20.59375
c1a4c000

基于单片机(AT89C51)的进制转换及进制计算器 基于单片机(AT89C51)的进制转换及进制计算器 闲来无事,用手头51单片机做个进制计算器 成品功能:能实现十进制带负数、带小数点的加减乘除,不同进制之间的转换,同一进制之间的加减乘。 材料 AT89C51开发板要带4x4矩阵按键,再带8个独立按键才够用 用LCD18650显示 杜邦线 用keil4进行开发 开始制作。 制作过程 思考过程 首先要考虑的就是按键数量了: 十进制的加减乘除带符号和小数需要:0~9十个按键 + 加减乘除四个按键 + 加小数点符号两个按键 = 共16个按键。 不同进制 阅读详情

相关推荐

VC++中向txt文档中写入16进制数据然后以16进制数显示出来

今天写了一个小软件的代码,其中用到的一个功能是将存放在一个数组里面的音频数据输出给硬盘的一个txt文件。每个音频数据的长度是一个char,如果直接用UltraEdit以二进制方式打开音频文件就会看到真实6进制数据。 但是当将数据写入txt文件中后,再打开txt文档就会乱码,用UltraEdit以二进制方式打开发现数据和原始音频数据一样。究其原因,主要是因为txt文档默认显示方式是以字符方式显示的

Jason___Bourne的专栏 8608

十六进制的浮点数转化为十进制

这里写自定义目录标题转化公式新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 转化公式 /* * -------负数 * 二进制 11000001011110101010011111101111 * 十进制 -15.666

weixin_42952411的博客 1万+

定点数和浮点数

浮点数的规格化:当尾数的值不为0的时,规定尾数域的最高有效位应为1。将176.0625转化为二进制:176=10110000(B) 0625=0001(B)恢复尾数:010 0000 0000 0000 0000 0000 0000 =0.25。阶码:因为要用移码表示,规定移码为+127,所以阶码为127+7 = 134。阶码通常为带符号的纯整数,尾数为带符号的纯小数。先将两个浮点数用小数点移动的方式将小阶的浮点数向大浮点数右移到同阶。所以整体为-1.25*2的2次方=-1.25*4=-5D。

XKBZD的博客 1615

浮点数

对于大小为32-bit的浮点数(32-bit为单精度,64-bit浮点数为双精度,80-bit为扩展精度浮点数),1、其第31 bit为符号位,为0则表示正数,反之为复数,其读数值用s表示; 2、第30~23 bit为幂数,其读数值用e表示; 3、第22~0 bit共23 bit作为系数,视为二进制纯小数,假定该小数的十进制值为x; 则按照规定,该浮点数的值用十进制表示为: = (-1)^

1055

IEEE-754标准(32位) 十六进制转换十进制浮点数

因实验需要,读取陀螺仪的数据是16进制的数据,需要将该数据转化为10进制方便自己查看,理解。记录如下: 1.将(32位)16进制IEEE-754标准浮点数就是用十六进制表示浮点,称为单精度浮点数。 float类型在内存中占4个字节(32位),最高位用于表示符号;在剩下的31位中,从右向左了8位用于表示指数,其余用于表示尾数。(一个字节是8位) 对应关系如下: 符号位指数位尾数位 1位8位23位 举例:(1)IEEE-754标准浮点数表示为 404FC5...

m0_37957160的博客 3万+

float类型的十六进制转换为十进制

该matlab程序可实现C语言的float类型十六进制转换为十进制,供大家参考。

IEEE-754标准浮点数,十六进制与十进制转换方法(附C代码)

将(32位)16进制IEEE-754标准浮点数就是用十六进制表示浮点,称为单精度浮点数。 举例:已知一个数为2.5,IEEE-754标准浮点数表示为 40200000H。 16进制浮点数与十进制的转化步骤: 对于大小为32-bit的浮点数(32-bit为单精度,64-bit浮点数为双精度,80-bit为扩展精度浮点数), 1、其第31 bit为符号位,为0则表示正数,反之为复数,其读数值用s表示;...

qq_15560295的博客 5万+

计量经济学tempdisagg的python库:年度时序变月度

计量经济学tempdisagg的python库:年度时序变月度

素质云笔记 1528

Java 16进制浮点数与 带符号10进制 互相转换

浮点数的二进制就不详细说了,直接上源码方法吧 16进制浮点数转10进制(不带符号) String s=“41a4c000”; Float value = Float.intBitsToFloat(Integer.valueOf(s.trim(), 16)); System.out.println(“16进制浮点数转10进制=”+value); Float f=20.59375f; System...

爱与不爱,一念之间 6034

Mplus—验证性因素分析(Confirmatory Factor Analysis, CFA)

介绍一阶和二阶验证性因素分析概况及在Mplus中的操作方法。

m0_54401011的博客 1万+

从零搭建风电场:手把手教你用WAsP+WindPRO完成风资源评估全流程

本文详细介绍了从零开始搭建风电场的全流程,重点讲解如何使用WAsP和WindPRO进行风资源评估和风场布局优化。内容包括软件配置、数据采集规范、风图谱建模实战、机组选型策略以及常见问题解决方案,帮助工程师掌握风电开发的核心技术,提升项目成功率。

year5的博客 371

【python】 无符号int、float、double与16进制字符串的互相转换 有符号int与16进制字符串的相互转换

【代码】【python】 无符号int、float、double与16进制字符串的互相转换 有符号int与16进制字符串的相互转换

ChaoChao66666的博客 6010

n8n实战:动态报表生成与企业微信自动化推送

本文详细介绍了如何利用n8n实现动态报表生成与企业微信自动化推送的全流程。通过配置n8n Form触发器、智能报表生成核心逻辑以及企业微信Webhook推送,帮助企业大幅提升数据收集与报表推送效率,实现从数据录入到报表推送的全自动化处理。

weixin_29267307的博客 304

Java实现十六进制转浮点数

使用Float.intBitsToFloat()方法419e6666十六进制字符串转浮点数结果为:19.8,支持带符号转换(支持正数负数)。

qq_40042416的博客 3317

车牌识别系统

随这图形图像技术的发展,现在的车牌识别技术准确率越来越高,识别速度越来越快。无论何种形式的车牌识别系统,它们都是由触发、图像采集、图像识别模块、辅助光源和通信模块组成的。车牌识别系统涉及光学、电器、电子控制、数字图像处理、计算视觉、人工智能等多项技术。触发模块负责在车辆到达合适位置时,给出触发信号,控制抓拍。辅助光源提供辅助照明,保证系统在不同的光照条件下都能拍摄到高质量的图像。图像预处理程序对抓拍的图像进行处理,去除噪声,并进行参数调整。然后通过车牌定位、字符识别,最后将识别结果输出。 牌照自动识别是一

FPGA/MATLAB学习教程/源码/项目合作开发 2万+

【CUDA Runtime】第一个“Hello World“程序

CUDA(Compute Unified Device Architecture)是 NVIDIA 提供的一个并行计算平台和编程模型,旨在通过利用 GPU 的强大计算能力来加速计算密集型应用。对于许多开发者而言,开始学习 CUDA 编程的第一步通常是编写一个简单的“Hello World”程序。尽管 CUDA 的实际应用远远超出一个简单的例子,但这个初步的示例能帮助开发者快速入门,理解基本的 CUDA 编程流程。

m0_62599305的博客 1506

数据的进制转换

进制的表示: 二进制,二进制符号 0b, 一般表示 0x0101 十六进制,符号 0x或H,表示 0x18F , 18FH R 进制整数转十进制:位权展开法,用R进制数的每一位乘以R的n次方,n是变量,从R进制的整数最低位开始,一次为0,1,2,...累加。 十进制转R进制:十进制整数除以R 倒取余,用十进制整数除以R,记录每次所得余数,若商不为0,则继续除以R,直到商为0,而后所有余数从下至上记录,排列从左至右顺序,即为转换后的R进制数。 M进制转N进制,先将M进制转换化为十进制,再将十进制转换为N进制,

flysh05的专栏 2982

交通仿真软件:SUMO_(1).SUMO基础知识

SUMO 中的交通网络由节点(junctions)和边(edges)组成。节点表示交叉口或路网的连接点,边表示连接节点之间的道路。节点:节点文件(.nod.xml)定义了网络中的所有节点。每个节点有一个唯一的 ID 和坐标。</边:边文件(.edg.xml)定义了连接节点的边。每个边有一个唯一的 ID、起点节点 ID 和终点节点 ID。</车辆文件(.vtype.xml)定义了不同类型的车辆。每个车辆类型可以有不同的参数,例如长度、最大速度、加速度等。</

kkchenjj的博客 1432

二进制、八进制、十进制、十六进制转换与编码

“转换”的概念在数据表示中的反映 信息的二进制编码 机器级数据分两大类 1、 数值数据:无符号整数、带符号整数、浮点数(实数) 2、非数值数据:逻辑数(包括位串)、西文字符和汉字 计算机内部所有信息都用二进制(即:0和1)进行编码 用二进制编码的原因 1、制造二个稳定态的物理器件容易(电位高/低,脉冲有/无,正/负极) – 二进制编码、计数、运算规则简单 2、正好与逻辑命题真/假对应,便于逻辑运算 3、 可方便地用逻辑电路实现算术运算 4、 真值和机器数 ( 非常重要的概念!) –– 机器数:用0和1编码

weixin_46048542的博客 3404

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

计算机原理进制的转换,各种进制数的转换-微计算机原理-电子发烧友网站

1.十进制二进制十进制整数转换为二进制,采用除2取余法;十进制纯小数转换为二进制小数,采用乘2取整法。把二进制数转换为十进制数,按定义直接计算。2.十进制十六进制十进制整数转换为十六进制,采用除16取余法;十进制纯小数转换为十六进制小数,采用乘16取整法。把十六进制数转换为十进制数,按定义直接计算。3.二进制〈—〉十六进制一位十六进制数对应四位二进制数十进制二进制十六进十进制二进制十六进制0000...

weixin_33374585的博客 2622

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

【matlab】数据类型01-数值型变量(整数、浮点数、复数、二进制和十六进制)

也可以看matlab官方doc。matlab 所有的数据类型都以矩阵(数据)的形式组织,比如单变量就是1*1的矩阵。。

风高秋月白,雨霁晚霞红 3397

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

关于十六进制float 带符号转换

$a= 'BDCCCCCD'; $v = hexdec($a); $hex_two = base_convert($a,16,2); $hex_all = ""; if(strlen($hex_two)%2==0){ $hex_all = ...

DK_ajie的博客 1229

计算机存储与进制转换

计算机存储与进制转换1. 计算机存储单元2. 进制转换十进制二进制二进制转十进制十进制转二进制:十进制转二进制:二进制转八进制:二进制转十六进制:3.信息在计算机中的表示整数部分(定点数)小数部分(浮点数)文字符号的表示4. 原码,反码、补码5. java中基础数据类型占用的存储空间及值域 1. 计算机存储单元 位(bit): 二进制中表示一位,家里的宽带使用的单位。 字节(Byte):八个二进...

WorldCode的博客 2903

关于16进制字符串转为单精度浮点数和双精度浮点数的运算(一)

关于16进制字符串转为单精度浮点数和双精度浮点数的运算(一)最近在进行GPIB方面的开发时,传回的数据有这两种格式,1.IEEE 32位浮点数格式;2.IEEE 64位浮点数格式。1.IEEE 32位浮点数格式 这种格式的特点是:每个数由4字节组成,包括1位符号位,8位带符号阶码,23位尾数。 例如:我们收到一个数的格式是 BE 30 94 00,那么它的二进制格式是:1 011 1110 00

迷惘宅猪的专栏 1万+

【计算机系统基础02】二进制,八进制,十进制,十六进制的表示与转换

计算机内二进制可以表示的类型一般有两种,指令和数据。指令用于识别、处理数据,但指令和数据本质上都是一串二进制序列。其中,数据的类型分为数值数据和非数值数据。数值数据可比较大小,分为整数(定点数)和实数(浮点数),而定点数有分为无符号整数和带符号整数两种。所以数值数据一共有四小类,这四类数据编码方式还是不同的。而非数值数据是一个没有大小之分的位串,主要用于表示字符数据和逻辑数据在计算机内部,数值数据的表示方法共有两大类,一种是直接用二进制表示,一种是采用二进制编码的十进制数(BCD)表示。

chien__的博客 4713
上一篇: 判断List、Map、Set是否为空及效率比较
下一篇: idea安装SonarLint代码检查工具
Spring的思念
博客等级 码龄7年 80粉丝 143原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值