C# dotnet 在内存中的 double 的 NAN 和正负无穷二进制是如何存
我就好奇无穷大和 NAN 在 C# 的二进制是如何表示的
揭开谜底
NAN: 00,00,00,00,00,00,F8,FF
正无穷 PositiveInfinity : 00,00,00,00,00,00,F0,7F
负无穷 NegativeInfinity : 00,00,00,00,00,00,F0,FF
测试方法如下
static void Main(string[] args){MemoryStream stream = new MemoryStream();BinaryWriter writer = new BinaryWriter(stream);double db = double.NaN;writer.Write(db);Console.WriteLine(string.Join(",", stream.ToArray().Select(b => b.ToString("X2"))));stream.Seek(0, SeekOrigin.Begin);db = double.PositiveInfinity;writer.Write(db);Console.WriteLine(string.Join(",", stream.ToArray().Select(b => b.ToString("X2"))));stream.Seek(0, SeekOrigin.Begin);db = double.NegativeInfinity;writer.Write(db);Console.WriteLine(string.Join(",", stream.ToArray().Select(b => b.ToString("X2"))));}
这个值不是乱存的,有标准,请看 IEEE 754 - Wikipedia
是不是还有更简单的方法拿到某个变量的内存里面的值存放方法?试试下面代码
double d = double.NaN;
Span<byte> sp = new Span<byte>(&d, sizeof(double));
试试看下 sp 的值
感谢 ( ̄▽ ̄)
小伙伴提供的方法
我搭建了自己的博客 https://blog.lindexi.com/ 欢迎大家访问,里面有很多新的博客。只有在我看到博客写成熟之后才会放在csdn或博客园,但是一旦发布了就不再更新
如果在博客看到有任何不懂的,欢迎交流,我搭建了 dotnet 职业技术学院 欢迎大家加入
如有不方便在博客评论的问题,可以加我 QQ 2844808902 交流
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接:http://blog.csdn.net/lindexi_gd ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我联系。
http://www.taodudu.cc/news/show-6374788.html
相关文章:
- 加强版二进制读写器
- 066访问二进制文件
- 用C#读取二进制文件
- webservice二进制文件传输
- C# dotnet 一个看上去还能用的二进制序列化帮助类
- dotnet 进行二进制差分压缩文件
- 自行实现比dotcore/dotnet更方便更高性能的对象二进制序列化
- 16进制转double dotnet_IEEE 16进制字符串转化为double类型
- 服务器发送二进制文件大小,如何从dotnet核心服务器向SignalR客户端发送二进制文件...
- dotnet C# 将 Byte 二进制数组使用不安全代码快速转换为 int 或结构体数组
- 1024的那些事儿
- 啥也不是!
- 这就是个吃饭的地方
- 老婆这种东西
- 抽出她裤衩里的猴皮筋做个弹弓打你们家玻璃
- 这算是强暴吗?
- 中国文化悲哀之一个馒头引发的强奸案
- 我以为是个正经程序猿,结果是个中二段子精
- 不是吧
- 乱的都放这儿
- 差点被一个柿子砸中 -_-
- 也说说“小地方来的”
- [太猛了]小宾馆里的那点破事儿[组图]
- 啥也不是
- 关于引用的那些事儿
- 陕西人也太太太太太太有趣了吧!
- 我和一个“婊子”不能不说的……
- 论我是怎么摆烂的
- 我要下载驱动
- windows 10对应驱动下载和应用
C# dotnet 在内存中的 double 的 NAN 和正负无穷二进制是如何存相关推荐
- C语言基础09——数据在内存中的存储。整型的存储、大小端讲解、浮点数的存储、杨辉三角、找凶手、猜名次
目录 数据类型 基本内置类型 类型的基本分类 整型在内存中的存储 计算机中整数的三种表示方法:原码.反码.补码 大小端 练习 浮点型在内存中的存储 为什么以下程序输出结果与想象不同? 浮点数存储规则 ...
- 带你深度剖析《数据在内存中的存储》——C语言
文章目录 一.数据类型介绍 二.整型在内存中的存储方式 2.1 原码.反码.补码的讲解 2.2 大小端介绍 2.2.1 大小端的概念 2.2.2 为什么要区分大小端存储呢? 2.2.3 大小端判断练习 ...
- writedouble_从MySQL中的double write问题说开去
有句话说得好,世上只有两种工具,一种是被人骂的,另一种是没人用的.被骂得越多,侧面反映出关注度越高,使用率越高,越用越成熟,这一点上, MySQL就是一个很不错的例子.而MySQL可支持的存储引擎很多 ...
- 浮点数在内存中的运算
他们力量的源泉,是值得信赖的搭档以及想要保护的对象还有强大的敌人 本文收录于青花雾气-计算机基础 往期回顾 从汇编代码探究函数栈帧的创建和销毁的底层原理 从0到1搞定在线OJ 数据在内存中的存储 计算 ...
- 转载——C语言中float,double类型,在内存中的结构(存储方式)
最近在做一个数据格式分析和转换的项目,第一次接触底层的二进制代码存储,看的一头雾水,看到这个帖子后对于在Windows系统下数据的存储方式有了更多的了解,将原文分享一下: 原文地址为http://ww ...
- int、unsigned int、float、double 和 char 在内存中存储方式
2017-12-28 创建人:Ruo_Xiao 实验环境:vs2010.Intel 邮箱:xclsoftware@163.com 2018-01-16 修改人:Ruo_Xiao添加对移位存储的说明. ...
- C语言中float,double类型,在内存中的结构(存储方式).
从存储结构和算法上来讲,double和float是一样的,不一样的地方仅仅是float是32位的,double是64位的,所以double能存储更高的精度. 任何数据在内存中都是以二进制(0或1)顺序 ...
- C语言 float、double数据在内存中的存储方式
float在内存中占4个字节(32bit),32bit=符号位(1bit)+指数位(8bit)+底数位(23bit) 指数部分 指数位占8bit,可以表示数值的范围是0-255(表示0~255一共25 ...
- double取两位小数_Java语言中:float、double数据类型在内存中是如何存储的
java语言中,float类型数字在计算机中用4个字节(32位)来存储.double类型占用8个字节(64位). 从存储结构和算法上来讲,double和float是一样的,不一样的地方仅仅是float ...
最新文章
- python处理表格-python如何处理表格?
- html文字超链接不让变色,css不让超链接变色怎么设置?
- 380万赌石(翡翠原石)切出2亿,现在值多少钱了?
- 最短路径次短路径算法
- linux操作命令等积累
- CSS布局奇淫巧计之-强大的负边距
- java rtmp推流_rtmp推流直播流程
- LeetCode:917. 仅仅反转字母
- 计算机表情识别技术研究学什么,表情识别的图像预处理和特征提取方法研究
- 关于MongoDB时区问题
- 前端开发-jQuery基本语法
- scrapy[skp]快速入门
- 【路径规划】基于matlab GUI蚁群算法求解电动汽车充电站与换电站协调路径规划【含Matlab源码 796期】
- idea 根据数据库表自动创建持久化类
- android md5加密工具下载,md5校验工具下载
- xiaomi手机因小米账户密码遗失而无法激活手机的解决方案
- 暗影精灵4如何调节风扇转速_关于解决暗影精灵4散热问题。
- 19841227同生缘
- 华为路由器基础知识和命令
- Hadoop 2.X的安装与配置
热门文章
- 在虚拟现实中解谜,PSVR游戏《Statik》将于4月24日正式发售
- 无线传感网的MAC层协议
- 微信公众号定时推送消息
- # cs231n (四)反向传播
- [英语语法]词法之独立主格
- 【Unity3D 教程系列第 12 篇】如何用Unity写一个简易的计时器工具?
- 扬州大学广陵学院计算机控制,计算机控制课程设计(最小拍无波纹).docx
- python爬虫:爬虫进阶之多线程爬虫
- 你的头发一根都不许掉!这款变态洗发皂,7天发量暴增!男同事亲测,20天浓密乌黑!!...
- ue4音效、动画结合实例