C语言再学习之进制转换总结
2016-01-20 15:31
615 查看
二进制数、八进制数、十六进制数与十进制数相互转换的方法:按权展开求和法
二进制与十进制间的相互转换:二进制转十进制:按权展开求和
例如:
二进制101.01 转为十进制
1×2^2+0×2^1+1×2^0+0×2^-1+1×2^-2=5.25
规律:个位上的数字的次数是0,十位上的数字的次数是1,......,依奖递增,而十分位的数字的次数是-1,百分位上数字的次数是-2,......,依次递减。
十进制整数转二进制数:“除以2取余,逆序排列”(短除反取余法)
十进制小数转二进制数:“乘以2取整,顺序排列”(乘2取整法)
例如:
0.625=(0.101)B
0.625*2=1.25======取出整数部分1
0.25*2=0.5========取出整数部分0
0.5*2=1==========取出整数部分1
八进制与二进制的转换:
二进制数转换成八进制数:从小数点开始,整数部分向左、小数部分向右,每3位为一组用一位八进制数的数字表示,不足3位的要用“0”补足3位,就得到一个八进制数。
例如:
0 1 0 1 1 0 . 0 0 1 1 0 0
2 6 . 1 4
即:(10110.011)2 = (26.14)8
八进制数转换成二进制数:把每一个八进制数转换成3位的二进制数,就得到一个二进制数。
例如:
367.24
八进制:3 6 7 . 2 4
二进制:011 110 111 . 010 100
011110111.010100
十六进制与二进制的转换:
二进制数转换成十六进制数:从小数点开始,整数部分向左、小数部分向右,每4位为一组用一位十六进制数的数字表示,不足4位的要用“0”补足4位,就得到一个十六进制数。
例如:
将二进制数1100001.111 转换成十六进制:
0110 0001 . 1110
6 1 . E
即:(1100001.111)2 =(61.E)16
十六进制数转换成二进制数:把每一个十六进制数转换成4位的二进制数,就得到一个二进制数。
例如:
将十六进制数5DF.9 转换成二进制:
5 D F . 9
0101 1101 1111 .1001
即:(5DF.9)16 =(10111011111.1001)2
注意:以上所说的二进制数均是无符号的数。这些数的范围如下表:
无符号位二进制数位数 数值范围 十六进制范围表示法
8位二进制数0~255 (255=28-1) 00~0FFH
16位二进制数0~65535 (65535=216-1)0000H~0FFFFH
32位二进制数0~232-1 00000000H~0FFFFFFFFH
相关文章推荐
- mysql binlog二进制日志详解
- C语言进制转换代码分享
- 详解C++编程中对二进制文件的读写操作
- 整理C# 二进制,十进制,十六进制 互转
- PHP中实现中文字符进制转换原理分析
- c#二进制逆序方法详解
- JS幻想 读取二进制文件第1/2页
- 使用jscript实现二进制读写脚本代码
- JS中字符问题(二进制/十进制/十六进制及ASCII码之间的转换)
- C#二进制序列化实例分析
- JavaScript前端开发之实现二进制读写操作
- php 实现进制转换(二进制、八进制、十六进制)互相转换实现代码
- PHP函数篇详解十进制、二进制、八进制和十六进制转换函数说明
- javascript 二进制运算技巧解析
- javascript parseInt() 函数的进制转换注意细节
- 进制转换算法原理(二进制 八进制 十进制 十六进制)
- 如何判断一个整数的二进制中有多少个1
- MSSQL 将截断字符串或二进制数据问题的解决方法
- 二进制中1的个数
- C++ 十进制转换为二进制的实例代码