前端浮点和16进制互转

一、浮点转16进制数据

//浮点数转16进制
function singleToHex(t) {if (t == "") {return "";}t = parseFloat(t.substr(0, 4));if (isNaN(t) == true) {return "Error";}if (t == 0) {return "00000000";}var s,e,m;if (t > 0) {s = 0;}else {s = 1;t = 0 - t;}m = t.toString(2);if (m >= 1) {if (m.indexOf(".") == -1) {m = m + ".0";}e = m.indexOf(".") - 1;}else {e = 1 - m.indexOf("1");}if (e >= 0) {m = m.replace(".", "");}else {m = m.substring(m.indexOf("1"));}if (m.length > 24) {m = m.substr(0, 24);}else {m = FillString(m, "0", 24, false)}m = m.substring(1);e = (e + 127).toString(2);e = FillString(e, "0", 8, true);var r = parseInt(s + e + m, 2).toString(16);r = FillString(r, "0", 8, true);var value = InsertString(r, " ", 2).toUpperCase();return value.substr(6, 2) + value.substr(9, 2) + value.substr(0, 2) + value.substr(3, 2)
}

二、16进制转浮点(单精度)

//16进制转浮点数(单精度)
function HexToDouble(hex) {let S, E, M, result;S = hex >>> 31;E = ((hex << 1) >>> 24);M = (hex << 9) >>> 9;if (E === 0xff) {if (M === 0x0) {return ((-1) ** S) * Infinity;} else {return NaN;}}result = ((-1) ** S) * (M / (1 << 23) + !!(E)) * (2 ** (E - 127 + !E));return result;
}

三、16进制转浮点(双精度)

//16进制转浮点数(双精度)
function hexToSingle(t, fixed = 2) {t = t.replace(/\s+/g, "");if (t == "") {return "";}if (t == "00000000") {return "0";}if ((t.length > 8) || (isNaN(parseInt(t, 16)))) {return "Error";}if (t.length < 8) {t = FillString(t, "0", 8, true);}t = parseInt(t, 16).toString(2);t = FillString(t, "0", 32, true);var s = t.substring(0, 1);var e = t.substring(1, 9);var m = t.substring(9);e = parseInt(e, 2) - 127;m = "1" + m;if (e >= 0) {m = m.substr(0, e + 1) + "." + m.substring(e + 1)}else {m = "0." + FillString(m, "0", m.length - e - 1, true)}if (m.indexOf(".") == -1) {m = m + ".0";}var a = m.split(".");var mi = parseInt(a[0], 2);var mf = 0;for (var i = 0; i < a[1].length; i++) {mf += parseFloat(a[1].charAt(i)) * Math.pow(2, -(i + 1));}m = parseInt(mi) + parseFloat(mf);if (s == 1) {m = 0 - m;}if (fixed) {m = m.toFixed(fixed).replace(/[.]?0+$/, "")}return m;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/627922.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HCS私有云简介

1、HCS简介和发展史 华为云产品&#xff1a;私有云和公有云&#xff0c;现在的私有云已经和公有云越来越像了FusionSphere是华为的一个品牌2016年&#xff0c;在5.0版本的时候&#xff0c;华为Openstack叫FusionSphere Openstack 5.0&#xff0c;底层用的是suse操作系统&#…

整数因子分解问题(分治法欧拉线性筛素数)

问题描述&#xff1a; 大于1 的正整数n 可以分解为&#xff1a;nx1*x2*…*xm。 例如&#xff0c;当n12 时&#xff0c;共有8 种不同的分解式&#xff1a; 1212&#xff1b; 126*2&#xff1b; 124*3&#xff1b; 123*4&#xff1b; 123*2*2&#xff1b; 122*6&#xff1…

BitLocker 驱动器加密

BitLocker 简介 BitLocker 驱动器加密是一项由微软开发并集成在Windows操作系统中的数据保护功能&#xff0c;其主要作用是通过加密存储在硬盘驱动器上的数据来增强信息安全。具体来说&#xff1a; 数据安全&#xff1a;BitLocker可以对整个操作系统卷&#xff08;包括系统分区…

开源图床Lychee本地如何部署并结合内网穿透工具实现远程访问

文章目录 1.前言2. Lychee网站搭建2.1. Lychee下载和安装2.2 Lychee网页测试2.3 cpolar的安装和注册 3.本地网页发布3.1 Cpolar云端设置3.2 Cpolar本地设置 4.公网访问测试5.结语 1.前言 图床作为图片集中存放的服务网站&#xff0c;可以看做是云存储的一部分&#xff0c;既可…

酒店订房小程序源码系统:帮您打造类似美团的酒店模式的小程序 带完整的安装部署教程

随着移动互联网的快速发展&#xff0c;小程序已经成为一种新型的应用形态&#xff0c;为各大行业提供了更加便捷的服务。其中&#xff0c;酒店预订小程序作为一种方便快捷的预订方式&#xff0c;备受用户青睐。小编给大家分享一款酒店订房小程序源码系统&#xff0c;旨在帮助您…

中霖教育:中级会计师报名条件是什么?

一、学历要求 报考中级会计师的考生需要具备大专及以上学历&#xff0c;如果不满足学历要求是无法报考的。 二、工作经验要求 报考中级会计师的考生需要具备一定的工作经验。根据规定&#xff0c;不同的学历对从业年限要求不同&#xff0c;主要有以下几种情况&#xff1a; …

多租户体系实现

文章目录 核心思路方案选择设计考量安全性扩展性通用性易用性 具体实现租户信息透传透传变量名命名规范应用内透传应用间透传 数据层租户隔离MySQL存储方案&#xff1a;多租户Mybatis插件Mybatis插件特点使用多租户Mybatis插件的优势参考文档 应用场景 经过工作中的一处场景启发…

机器学习周刊第五期:一个离谱的数据可视化Python库、可交互式动画学概率统计、机器学习最全文档、快速部署机器学习应用的开源项目、Redis 之父的最新文章

date: 2024/01/08 这个网站用可视化的方式讲解概率和统计基础知识,很多内容还是可交互的,非常生动形象。 大家好,欢迎收看第五期机器学习周刊 本期介绍7个内容,涉及Python、概率统计、机器学习、大模型等,目录如下: 一个离谱的Python库看见概率,看见统计2024机器学习最…

U盘提示未格式化解决方法超级简单

U盘提示未格式化是常见故障&#xff0c;主要原因有文件系统损坏、固件问题、物理故障等。解决方法包括格式化U盘、更新固件、恢复数据等&#xff0c;具体操作需根据故障原因选择。如无法解决&#xff0c;建议联系专业维修人员处理。 U盘提示未格式化解决方法超级简单 当U盘提示…

使用scipy处理图片——滚动图片

大纲 常规模式constant和grid-constant 交换模式wrap和grid-wrap 镜像reflect、mirror和grid-mirror 最近值nearest 代码 在《使用numpy处理图片——滚动图片》一文中&#xff0c;我们介绍了numpy的roll方法&#xff0c;它只能让超出区域的元素回到被移动的区域中&#xff0c;如…

置位复位寄存器的某一位(多工位多工站渗透线控制应用)

这里的置位复位特定寄存器位功能块可以应用在渗透线控制应用上,我们可以根据小车当前所在位置,对相关工作槽里的标志位进行置位复位等操作(某个槽有产品,某个槽没有产品等)。 下面我们看下对应的控制要求 1、置位复位特定的位 2、置位复位寄存器中的某一位 3、置位bit8 4…

【书生·浦语】大模型实战营——第五次课程作业

基础作业——使用LMDeploy 以本地对话、网页Gradio、API服务中的一种方式部署InternLM-Chat-7B模型&#xff0c;生成300字的小故事 环境准备 除了安装所需依赖之后&#xff0c;重要的是进行模型转化&#xff08;转换成TurboMind格式&#xff09;&#xff0c;这里需要注意转化命…

Flutter PageView 参数介绍及使用

PageView 可以用于创建水平滑动的页面&#xff0c;通常用于实现图片轮播、引导页、以及其他需要切换页面的场景。在本文中&#xff0c;我们将深入探讨 Flutter PageView 的参数&#xff0c;并演示如何使用它来构建交互性强大的页面。 1. PageView 基础 首先&#xff0c;让我们…

华南理工大学计算机23考研复试(线下)经验分享

华南理工大学计算机考研复试&#xff08;线下&#xff09;经验分享 首先声明一下&#xff0c;本人是去年23考研上岸华工计算机的学生。&#xff08;也就是最倒霉的遇上疫情开放&#xff0c;顶着疫情去考试&#xff0c;然后考研复试又是经历华工三年来第一次线下的苦逼学生&…

NFS概念与应用

一、NFS的概念 NFS&#xff08;Network File System 网络文件服务&#xff09; 文件系统&#xff08;软件&#xff09;文件的权限&#xff1b; NFS 是一种基于 TCP/IP 传输的网络文件系统协议&#xff0c;最初由 Sun 公司开发&#xff1b; 通过使用 NFS 协议&#xff0c;客户…

人工智能 | 生成式 AI 如何重塑开发流程和开发工具?

生成式 AI 如何重塑开发流程和开发工具&#xff1f; 生成式人工智能&#xff08;Generative Artificial Intelligence&#xff0c;GAI&#xff09;是一种基于大规模数据训练学习&#xff0c;从而生成新的原创内容的人工智能。生成式人工智能可以生成各种形式的数据&#xff0c…

最强大脑闪电心算草稿1

#include<bits/stdc.h> #include<windows.h> using namespace std; int main() {double speed,n,op,sum0;int ans;srand(time(NULL));cout<<"请输入加(1)/减(2)/加减混合(3):";cin>>op;cout<<"请输入题目数量:";cin>>…

鸿蒙开发工程师会不会有很好的就业前景?

一&#xff0c;鸿蒙带动IT开发和应用整体结构的变革 1月11日&#xff0c;以鸿蒙为首的华为概念股大幅走强&#xff0c;创业板创识科技拉升封板&#xff0c;传智教育、智度股份、高新发展、立达信、吉大正元等多股涨停&#xff0c;华亚电子、九联科技、软通动力、辰奕智能、芯海…

开发安全之:Dynamic Code Evaluation: Insecure Transport

Overview 第 46 行的文件 map.php 通过未加密的通道加载脚本。 Details 通过未加密的通道可能包含来自网站的可执行内容&#xff0c;这使攻击者能够执行中间人 (MiTM) 攻击。这使攻击者能够加载自己的内容&#xff0c;并将其作为原始网站内容的一部分执行。 示例&#xff1…

2024秋招,顺丰科技测试开发工程师一面

前言 今天回顾一下&#xff0c;一个被捞的全流程面试经历 时间线 9月21日测评 10月26日技术一面&#xff0c;本来是11点半开始&#xff0c;我正做另一个笔试呢&#xff0c;突然给我打电话开面 20分钟结束&#xff0c;一开始以为KPI&#xff0c;结果给过了 10月31日技术二…