C# 的double类型的10进制 转化成 字符串的 2进制和16进制的问题

先转换成字组,然后再转成2进制和16进制格字符串XSf道家风水传承网double x = 3.14d;XSf道家风水传承网

XSf道家风水传承网

// 先转换为字节数组XSf道家风水传承网

byte[] bArray = BitConverter.GetBytes(x);XSf道家风水传承网

XSf道家风水传承网

// 再转换为制和十六进制字符串XSf道家风水传承网

string sBin = string.Empty;XSf道家风水传承网

string sHex = string.Empty;XSf道家风水传承网

foreach(byte b in bArray)XSf道家风水传承网

{XSf道家风水传承网

sBin  = Convert.ToString(b, 2);XSf道家风水传承网

sHex  = Convert.ToString(b, 16);XSf道家风水传承网

}

计算机二进制,十进制,八进制,十六进制怎么转换

1.什么进制XSf道家风水传承网

二进制是计算技术中广泛采用的数制。二进制数据是用0和1两个数的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”,由18世纪德国数理哲学大师莱布尼兹发现。当前的计算机系统使用的基本上是二进制系统,数据在计算机中主要是以补码的形式存储的。计算机中的二进制则是一个非常微小的开关,用“开”来表示1,“关”来表示0。       XSf道家风水传承网

.信息的存储单位XSf道家风水传承网

位(Bit) :度量数据的最小单位XSf道家风水传承网

字节(Byte):最常用的基本单位,一个字节有8位XSf道家风水传承网

b7  b6 b5 b4 b3 b2 b1 b0XSf道家风水传承网

1    0   0  1   0   1   0   1  =27 24 22 20=149XSf道家风水传承网

K字节       1k=1024 byteXSf道家风水传承网

M(兆)字节  1M=1024KXSf道家风水传承网

G(吉)字节  1G=1024MXSf道家风水传承网

T(太)字节  1T=1024GXSf道家风水传承网

2.十进制转换XSf道家风水传承网

1234[10进制] 0 1 2 3 4 5 6 7 8 9 0 当数位上的值超过9就要进1XSf道家风水传承网

1000 200 30 4=1*103 2*102 3*101 4*100=1234XSf道家风水传承网

1011[2进制] 0 1 当数位上的值超过1就要进1XSf道家风水传承网

1*23 0*22 1*21 1*20=8 0 2 1=11XSf道家风水传承网

1011[8进制]0 1 2 3 4 5 6 7 当数位上的值超过7就要进1XSf道家风水传承网

1*83 1*81 1*80=512 8 1=521XSf道家风水传承网

1011[16进制]0 1 2 3 4 5 6 7 8 9 A B C D E F 当数位上的值超过15就要进1XSf道家风水传承网

1*163 1*161 1*160=4096 16 1=4113XSf道家风水传承网

3.二进制转换XSf道家风水传承网

首先来看十进制到二进制:除2取余数 最后把余数倒过来 100101XSf道家风水传承网

比如:十进制数37XSf道家风水传承网

所以转换成的二进制数字为:100101XSf道家风水传承网

再来八进制到二进制:一个八进制的位拆分成一个三位的二进制数XSf道家风水传承网

比如:[八进制]616XSf道家风水传承网

6拆分成 110XSf道家风水传承网

1拆分成 001XSf道家风水传承网

6拆分成 110XSf道家风水传承网

所以转换成的二进制数字为:110001110XSf道家风水传承网

再来十六进制到二进制:一个八进制的位拆分成一个四位的二进制数XSf道家风水传承网

比如:[十六进制]616XSf道家风水传承网

6拆分成 0110XSf道家风水传承网

1拆分成 0001XSf道家风水传承网

6拆分成 0110XSf道家风水传承网

所以转换成的二进制数字为:11000010110XSf道家风水传承网

4.八进制转换XSf道家风水传承网

十进制到八进制:除8取余数 最后把余数倒过来XSf道家风水传承网

同时我们也可以先将十进制转换成二进制,然后将二进制又转换成八进制 XSf道家风水传承网

比如:2456 转化成八进制数字:4630XSf道家风水传承网

2456/8=307,余0;XSf道家风水传承网

307/8=38,余3;XSf道家风水传承网

38/8=4,余6;XSf道家风水传承网

4/8=0,余4。XSf道家风水传承网

将所有余数倒序相连,得到结果:4630。XSf道家风水传承网

因此十进制的2456转换为八进制结果为4630。XSf道家风水传承网

二进制到八进制转换  7=4 2 1 111 八进制最大的数字是7转换成二进制刚好是111,占3个位XSf道家风水传承网

每三个二进制数为一组,转成一个八进制数位,如果二进制高位不足3位时,用零填补。XSf道家风水传承网

比如:10011011XSf道家风水传承网

010 011 011XSf道家风水传承网

2     3     3XSf道家风水传承网

因此二进制的10011011转换为八进制结果为233。XSf道家风水传承网

5. 十六进制到八进制XSf道家风水传承网

我们可以先把十六进制的数字转换成二进制,在从二进制转换成八进制例如: XSf道家风水传承网

3BC24 XSf道家风水传承网

分别对应到二进制就是: XSf道家风水传承网

3 0011 XSf道家风水传承网

B 1011 XSf道家风水传承网

C 1100 XSf道家风水传承网

4 0100XSf道家风水传承网

连起来就是: XSf道家风水传承网

0011 1011 1100 0100XSf道家风水传承网

再按照每三个一组分组: XSf道家风水传承网

0 011 101 111 000 100XSf道家风水传承网

0__3__5__7__0__4 XSf道家风水传承网

所以8进制就是35704XSf道家风水传承网

6.十六进制转换XSf道家风水传承网

十进制到十六进制:除16倒着取余数XSf道家风水传承网

同时我们也可以先将十进制转换成二进制,然后将二进制又转换成十六进制 XSf道家风水传承网

比如说:1610转换成十六进制XSf道家风水传承网

直接转16进制:XSf道家风水传承网

1610/16=100……10(A);XSf道家风水传承网

100 /16= 6……4;XSf道家风水传承网

6 /16= 0……6;XSf道家风水传承网

故:1610(10)=64A(16).XSf道家风水传承网

二进制到十六进制 15=8 4 2 1   1111 十六进制最大数字是F,即15转换成二进制1111,刚好占4个位XSf道家风水传承网

每四个二进制数为一组,转成一个十六进制数位,如果二进制高位不足3位时,用零填补。XSf道家风水传承网

比如:1110011011XSf道家风水传承网

0011 1001 1011XSf道家风水传承网

3       9      BXSf道家风水传承网

因此二进制的 1110011011转换为十六进制39BXSf道家风水传承网

八进制到十六进制XSf道家风水传承网

我们可以先把八进制的数字转换成二进制,在从二进制转换成十六进制XSf道家风水传承网

八进制的:1234567XSf道家风水传承网

转换为二进制是每个数字转换为三位二进制:001 010 011 100 101 110 111XSf道家风水传承网

然后把这些数字从右边开始进行按四位分组:0 0101 0011 1001 0111 0111XSf道家风水传承网

然后从右边每四位组依次对应一个16进制数:053977XSf道家风水传承网

7.各种进制的用途XSf道家风水传承网

说了这么多,这些进制都有些什么用了,大家一起讨论下吧!!!XSf道家风水传承网

10进制,当然是便于我们人类来使用,我们从小的习惯就是使用十进制,这个毋庸置疑。XSf道家风水传承网

2进制,是供计算机使用的,1,0代表开和关,有和无,机器只认识2进制。XSf道家风水传承网

16进制,内存地址空间是用16进制的数据表示, 如0x8049324。XSf道家风水传承网

编程中,我们常用的还是10进制。   XSf道家风水传承网

比如:int a = 100,b = 99;   XSf道家风水传承网

不过,由于数据在计算机中的表示,最终以二进制的形式存在,所以有时候使用二进制,可以更直观地解决 问题。但二进制数太长了。比如int 类型占用4个字节,32位。比如100,用int类型的二进制数表达将是:   XSf道家风水传承网

0000 0000 0000 0000 0110 0100   XSf道家风水传承网

面对这么长的数进行思考或操作,没有人会喜欢。因此,用16进制或8进制可以解决这个问题。因为,进制越大,数的表达长度也就越短。XSf道家风水传承网

1.用于计算机领域的一种重要的数制   XSf道家风水传承网

2.对计算机理论的描述,计算机硬件电路的设计都是很有益的。比如逻辑电路设计中,既要考虑功能的完备,还要考虑用尽可能少的硬件,十六进制就能起到一些理论分析的作用。比如四位二进制电路,最多就是十六种状态,也就是一种十六进制形式,只有这十六种状态都被用上了或者尽可能多的被用上,硬件资源才发挥了尽可能大的作用。   XSf道家风水传承网

3.十六进制更简短,因为换算的时候一位16进制数可以顶4位2进制数。XSf道家风水传承网

8进制,一般有什么用,查了下资料,还真不知道?有知道的大神告诉我吧。XSf道家风水传承网

如果你用过linux你可能见过这样表示一个文件的权限:0777、0666等等XSf道家风水传承网

可能有的这样解释:具有读权限加1,具有写权限加2,具有执行权限加4,最后的和就是一个角色所具有的权限。而linux有三种角色:属主、属组、其他用户,所以用0777、0666之类的表示。XSf道家风水传承网

如果用二进制来看的话,linux用3个bit来表示权限,如果具有某个权限就把那位置1.比如只具有读权限就是100,只具有写权限就是010,具有读写权限就是110,具有读写执行权限就是111。XSf道家风水传承网

如何将16进制转换为Double型

C里面有语法做类型转换啊XSf道家风水传承网

类型名(值) 就能把 值转换成 所需要的 类型XSf道家风水传承网

double(0x00000000000000005940) 就转成double了

如何将double型数值转换为16进制的形式

public String SetNewGuid() {XSf道家风水传承网

String guid = "";XSf道家风水传承网

for (int i = 1; i <= 32; i ) {XSf道家风水传承网

int n =(int)Math.floor(Math.random() * 16.0);XSf道家风水传承网

String uid=Integer.toHexString(n) ;XSf道家风水传承网

System.out.println(uid);XSf道家风水传承网

guid = uid;XSf道家风水传承网

if ((i == 8) || (i == 12) || (i == 16) || (i == 20))XSf道家风水传承网

guid = "-";XSf道家风水传承网

}XSf道家风水传承网

return guid;XSf道家风水传承网

}

double占8字节 一个数字占1字节 为什么能精确16位 我觉得只有8位,,,

这是数据存储方问题XSf道家风水传承网

XSf道家风水传承网

一个float型实数在内存中占4个字,即32个二进制bit,从低位到高位叫第0位到第31位.这32位可以分为3个部分:符号位(第31位),阶码(第30位到第23位共8位),尾数(最低23位)。 XSf道家风水传承网

1、符号位。最高位也就是第31位表示这个实数是正数还是负数,为0表示正数或0,为1表示负数. XSf道家风水传承网

2、阶码。第30位到第23位这8个二进制位表示该实数转化为规格化的二进制实数后的指数与127(127即所谓偏移量)之和即所谓阶码. XSf道家风水传承网

规格化的二进制实数的指数只能在-127---- 127之间,所以,一个float型数的最大值在 2^127即 3.4*10^38,最小值在-2^127即-3.4*10^38. XSf道家风水传承网

3、尾数。其他最低的23位即第22位到第0位表示该实数转化为规格化的二进制实数后小数点以后的其余各位即所谓尾数. XSf道家风水传承网

XSf道家风水传承网

Double的计算与此类似,double的符号位为63位,指数为62~52位,共11位。表示的范围为-1024~1023。尾数为51~0。表示的范围为-1.7*10^308~ 1.7*10^308XSf道家风水传承网

XSf道家风水传承网

根据他们的存储原理可知,虽然double存储范围很大,但精确度却并不高XSf道家风水传承网

XSf道家风水传承网

因为他是用科学计数法来表示的,类似1.2 * 10 ^ -38 ----- 3.5 * 10 ^38,XSf道家风水传承网

而精确度表示的是能精确表示的位数,一般指有效数字,如:1.2 * 10 ^ -38 XSf道家风水传承网

虽然数很大,但精确度只有两位有效数字XSf道家风水传承网

XSf道家风水传承网

所以,两个double数尽量不要做“==”逻辑判断,可能会产生BUG

C语言中,单精度浮点数十进制时是22.84,转化为16进制是多少,怎么转化的

整数部分16除,反向取;小数部分用16乘,取整数。具体如下XSf道家风水传承网

22÷16 = 1 余 6XSf道家风水传承网

1÷16 = 0 余 1XSf道家风水传承网

所以整数部分是16。小数部分XSf道家风水传承网

0.84x16 = 13(D) . 44XSf道家风水传承网

0.44x16 = 7 .04XSf道家风水传承网

0.04x16 = 0 .64XSf道家风水传承网

0.64x16 = 10(A) .24XSf道家风水传承网

0.24x16 = 3 .84XSf道家风水传承网

0.84x16 = 13(D) . 44XSf道家风水传承网

...以后循环了,所以XSf道家风水传承网

22.84(10) = 16.D70A3D70A3...(16)XSf道家风水传承网

还可以先“用2除反向取余数”和“用2乘正向取整数”变成二进制,再从小数点开始左右每4位分开,前后不足4位的用0补齐,然后用对应的16进制符号直接写出来就可以了。22.84化成二进制是10110.11010111000010100011...→1'0110.1101'0111'0000'1010'0011→0001'0110.1101'0111'0000'1010'0011→16.D70A3...XSf道家风水传承网

要写代码,如下便可:XSf道家风水传承网

123456789101112#include "stdio.h"int main(void){ double x=22.84,t; char h[17]="0123456789ABCDEF", i,k; printf("%g(10) = %x.",x,int(x)); for(t=x-int(x),i=0;i<10;i ){ k=int(t*=16),t-=k; printf("%c",h[k]); } printf("...(16)\n"); return 0;}XSf道家风水传承网

C/C 没有提供以指针形式输出16进制数据的功能。

c语言占八个字节的浮点数是,『double转八字节十六进制』double占8字节 一个数字占1字节 为什么能精确16位 我觉得只有8位,,,...相关推荐

  1. 一个数字几个字节_字节跳动安全沙龙闭幕 多位专家解析数字经济业务安全

    鞭牛士报道 6月5日,字节跳动安全中心组织了 "业务安全攻与防"的主题安全沙龙,以疫情之下数字经济飞速发展背后的业务安全为讨论核心,围绕业务安全.攻防实战的真实场景,邀请了业界数位 ...

  2. 一个数字几个字节_技术工坊40期-DAG技术特性以及在字节雪球Obyte项目的使用实践...

    1. 活动基本信息 1)题目: [区块链技术工坊40期]DAG技术特性以及在字节雪球Obyte项目的使用实践 2)议题: 字节雪球Obyte(原名Byteball):一个基本于DAG技术的去中心化分布 ...

  3. excel粘贴的时候怎么样可以直接以空格分开,一个数字占一格。

    问题描述 在使用excel的过程中,需要从外部插入一些数据,数据之间用空格隔开. 当直接粘贴的时候,将数据粘贴到了一个单元格中,无法用选择粘贴来实现. 解决过程 将数据粘贴到一个文本文件中. 然后在e ...

  4. 得到一个数字中每一位的数字

    学习编程也有一段时间了,随着学习的不断深入,我越来越体会到了算法的重要性,最近遇到了一些非常有意思的算法,比如打印水仙花数.将数字逆置,在这两个算法中会用到一个数字钟每一位的值 如:判断数字123是否 ...

  5. 四个字节的浮点数与八个字节的整数表示范围大小的对比

    八个字节整数表示的数值范围: 八个字节共64位,最左边位符号位占1bit,后面数字位占63bit,可表示的数值范围,1111...1111(1后面63个1)~0111...1111(0后面63个1), ...

  6. 四字节与浮点数之间的转换(c语言实现)

    C语言中对于float类型的数据,主要使用4字节进行存储,以下为干货.实现四字节与浮点数之间的转换. 0.头文件添加 #include <math.h> 1.浮点数转换为四字节 void ...

  7. Java语言中一个字符占几个字节?

    要区分清楚内码(internal encoding)和外码(external encoding)就好了. 内码是程序内部使用的字符编码,特别是某种语言实现其char或String类型在内存里用的内部编 ...

  8. Java 语言中一个字符占几个字节?

    Java基本数据类型 类型 大小 范围/精度 byte 1字节 8位,最小值是 -128(-2^7): 最大值是 127(2^7-1) short 2字节 16位,最小值是 -32768(-2^15) ...

  9. c语言四字节转浮点数_C语言浮点书于字节互相转换

    //字节转为浮点数 float ByteToFloat(unsigned char m[]) { // 求符号位 float sig = 1.; if (m[3] >=128.) sig = - ...

最新文章

  1. win10专业版占多少空间_win10技巧:使用win10轻松自动恢复系统!
  2. ADS错误(Fatal)L6002U解决方法
  3. Mysql 从库跳过
  4. 控制用户的访问之权限、角色【weber出品必属精品】
  5. docker容器状态跟踪及疑惑
  6. 前端学习(806):数据类型内存分配
  7. mysql vim 命令_Vim基本命令必知必会
  8. 简单的eda实验vga在linux系统中,EDA实验报告-VGA彩条显示.doc
  9. 一本关于网上支付解决方案的迷你百科全书
  10. android pickerview 多行,Android PickerView 自定义条件选择器 联动
  11. 全新卡盟系统PHP版 集成易支付_PHP其他卡信卡盟系统平台 搭建卡盟平台多商户版源码程序系统集成易支付接口整站源码...
  12. 安徽大学836数字电路与逻辑设计考研历年真题库资料
  13. 【等保】二级等保常见问题解答汇总
  14. WDR7660虚拟服务器,tp-wdr7660设置wps方法_tp-wdr7660怎么设置wps-硬件之家
  15. 魔兽世界个人插件、宏、WA 使用记录
  16. 知道Ping的最后一个返回值TTL是什么意思吗?
  17. 分子克隆有哪些最新发表的毕业论文呢?
  18. u盘不能格式化怎么办
  19. SAC案例精选:SAC Planning实现SOP(销售与运营计划)模拟沙盘
  20. Latex (2)Latex中插图、表格、浮动体

热门文章

  1. 西门子博图指令(定时器操作四)
  2. 文本生成视频相关指标整理
  3. 轮播图插件(swiper)
  4. 16款蔬果 吃吃就降糖
  5. 微软大中华区COO鲍方德:诉番茄花园并非卸磨杀驴
  6. 计算机网络相关论文翻译(1)A Brief Overview of the NEBULA Future Internet Architecture
  7. shell获取文件最后一行
  8. 关于软件可测试性的资料
  9. 海天佛国---普陀山
  10. Windows系统自带的电脑朗读器完整教程(作用有限)