进制相互转化的算法公式
来源:互联网 发布:中国为什么网络扫黄 编辑:程序博客网 时间:2024/06/06 06:35
对于整数:有四种表现形式
二进制:0,1 逢二进一
八进制:0-7 逢八进一,用0开头表示
十进制:0-9 逢十进一
十六进制:0-9,A-F (A :10 B:11 递增)逢十六进一,0x表示
逢十进一:在生活中,0-9是一位数,9加一就是10(二位数)了,这就叫逢十进一、
逢二进一:1就是最大位,打过1就要进一位,例如:1+1=10 ,1+1+1=11。
进制转换
例如:进制数转十进制 1011.01
从小数点始,以0为开始数,小数点左面有四位 对应: 1,1,0,1;小数点右面有两位 对应:0,1。
如果1011.01是二进制的,
1011.01 = 1*2^3 + 0*2^2 + 1*2^1 + 1*2^0 + 0*2^-1 + 1*2^-2 = 11(十进制)其中 2为基数。
1*2^3 这里1代表 1011.01 中的 最高位(个十百千的位) ,2代表 要转化的进制,3是从小数点起往左计数从0开始,这里的最高位就是3
0*2^2 这里0代表 1011.01 中的 第二高位就是百位,2代表 要转化的进制,2是从小数点起往左计数从0开始,百位为2。
以此类推。
同理,如果1011是八进制的,那么 8为基数
1011 =1*8^3 + 0*8^2 + 1*8^1 + 1*8^0 = 521(十进制)。
ok,那么十进制如何转成二进制的?
以十进制的11.875为例 先取出整数 11
11/ 2 = 5 ... 1
5/2 = 2 ... 1
2/2 = 1 ... 0
1/2= 0 ...1
既 (11)10 = (1011)B
再取出小数 以0.875
0.875*2 = 1.75 1
0.75*2 = 1.5 1
0.5*2 = 1 1
既 (0.875)10 = (0.111)B
所以(11.875)10 = (1011.111)B
其中2为基数,进制转换只需要改变基数就行了。
- 进制相互转化的算法公式
- 进制之间的相互转化
- 各种进制的字符串相互转化
- 任何进制的相互转化
- 16进制与 255 颜色值的相互转化
- 16进制编码与字符编码的相互转化
- 字符串和16进制字符串的相互转化
- java各种进制之间的相互转化
- 【算法题】整数与字符串之间的相互转化
- 进制间的相互转化
- JSon的相互转化
- 字符串和16进制相互转化
- 面试题: 十进制INT数字转化为16进制字符串、实现字符串和数字的相互转化
- 不同进制间的相互转化。
- 字符间的相互转化
- Activity之间的相互转化
- 十进制和其他进制的相互转化(自己写的)
- IT 人员必学的最基础知识(二)——进制相互转化
- 文本框监听输入内容变化事件
- MFC 无边框对话框实现点击任务栏图标 还原窗口的功能
- 一点java的学习思路
- iOS之三目运算符和内联复合表达式
- 小米实习生笔试题<风口的猪-中国牛市>Java代码
- 进制相互转化的算法公式
- 抓包工具Charles —— 破解、抓包入门
- Redux 入门教程(一):基本用法
- Python学习笔记
- 学习笔记1——数字基带信号编码
- Android Studio jar包引用jar包
- 二维数组中的查找
- 对象一对一关系
- Dubbo 使用注解替换XML控指针异常