一 计算机科学基础 1.1数制及转换
2018-01-06 23:11
274 查看
基本概念:
^ = 介乘
2^4 = 二的四次方
2^-4 = 二的负四次方,也就是1/16,十六分之一
位 = 整数部分个位为0位,十位为1位,百位为2位,小数点后面第一位为-1位,其他位同理
二进制转换各个进制 :
// 分解求和法
2 --> 10 : 100110.101B = 2^5+2^2+2^1+(2^-1+2^-3) = 32+4+2+(1/2+1/8) = 38+5/8 = 38.625D
// 421法
2 --> 8 : 10101111.10111B = 010 101 111 . 101 110B = 2 5 7 . 5 6 = 257.56O
// 8421法
2 --> 16 : 10101111.10111B = 1010 1111. 1011 1000B = 10 15 . 11 8 = A F . B 8 = AF.B8H
各个进制转换成二进制 :
//整数部分除二取余,最后倒取,小数部分乘二取整(整数部分),最后正取
10 --> 2 : 38.625D = 38 % 2 = 0 = 0.625 * 2 = 1.250 最终结果整数倒取,小数正取 = 100110.101B
= 19 % 2 = 1 = 0.250 * 2 = 0.5
= 9 % 2 = 1 = 0.500 * 2 = 1
= 4 % 2 = 0
= 2 % 2 = 0
= 1 % 2 = 1
//使用421法逆运算及可,小数部分也一样
8 --> 2 : 257.56O = (2 = 010) (5 = 101) (7 = 111).(5 = 101) (6 = 110) = 10101111.10111B
//同八到二一样,但算法使用8421法
16 --> 2 : AF.B8H = (A = 1010) (F = 1111).(B = 1011) (8 = 1000) = 10101111.10111B
其实我们知道以上这些就可以了,可以于2进制为通用进制,来进行各个进制之间的转换,但再多学一点也好,下面我们来看下10进制到16进制和10进制到8进制之见的转换吧.
其实道理很简单,十转二的时候是用除二取余的办法,那么16进制就是除16取余,8进制是除8取余数,小数部分乘8或16取整.
10 --> 8 : 38.625D = 38 % 8 = 6 = 0.625 * 8 = 5 最终结果整数部分倒取,小数部分正取 = 46.5O
= 4 % 8 = 4
10 --> 16 : 38.625D = 38 % 16 = 6 = 0.652 * 16 = 10 最终结果整数部分倒取,小数部分正取 = 26.AH
= 2 % 16 = 2
反或来进行各个位到10进制也是和二进制一个道理 只不过位的权 不一样了~ 二进制是2,16进制是16,8进制是8.
8 --> 10 : 46.5O = 4*8^1 + 6*8^0 + 5*8^-1 = 32 + 6 + 5/8 = 38.625D
16 --> 10 : 26.AO = 2*16^1 + 6*16^0 + 10(A) * 16^-1 = 32 + 6 + 10/16 = 38.625
OK 清晰的理解上面的转换规则,遇到数制转换也就不会再有问题了.
^ = 介乘
2^4 = 二的四次方
2^-4 = 二的负四次方,也就是1/16,十六分之一
位 = 整数部分个位为0位,十位为1位,百位为2位,小数点后面第一位为-1位,其他位同理
二进制转换各个进制 :
// 分解求和法
2 --> 10 : 100110.101B = 2^5+2^2+2^1+(2^-1+2^-3) = 32+4+2+(1/2+1/8) = 38+5/8 = 38.625D
// 421法
2 --> 8 : 10101111.10111B = 010 101 111 . 101 110B = 2 5 7 . 5 6 = 257.56O
// 8421法
2 --> 16 : 10101111.10111B = 1010 1111. 1011 1000B = 10 15 . 11 8 = A F . B 8 = AF.B8H
各个进制转换成二进制 :
//整数部分除二取余,最后倒取,小数部分乘二取整(整数部分),最后正取
10 --> 2 : 38.625D = 38 % 2 = 0 = 0.625 * 2 = 1.250 最终结果整数倒取,小数正取 = 100110.101B
= 19 % 2 = 1 = 0.250 * 2 = 0.5
= 9 % 2 = 1 = 0.500 * 2 = 1
= 4 % 2 = 0
= 2 % 2 = 0
= 1 % 2 = 1
//使用421法逆运算及可,小数部分也一样
8 --> 2 : 257.56O = (2 = 010) (5 = 101) (7 = 111).(5 = 101) (6 = 110) = 10101111.10111B
//同八到二一样,但算法使用8421法
16 --> 2 : AF.B8H = (A = 1010) (F = 1111).(B = 1011) (8 = 1000) = 10101111.10111B
其实我们知道以上这些就可以了,可以于2进制为通用进制,来进行各个进制之间的转换,但再多学一点也好,下面我们来看下10进制到16进制和10进制到8进制之见的转换吧.
其实道理很简单,十转二的时候是用除二取余的办法,那么16进制就是除16取余,8进制是除8取余数,小数部分乘8或16取整.
10 --> 8 : 38.625D = 38 % 8 = 6 = 0.625 * 8 = 5 最终结果整数部分倒取,小数部分正取 = 46.5O
= 4 % 8 = 4
10 --> 16 : 38.625D = 38 % 16 = 6 = 0.652 * 16 = 10 最终结果整数部分倒取,小数部分正取 = 26.AH
= 2 % 16 = 2
反或来进行各个位到10进制也是和二进制一个道理 只不过位的权 不一样了~ 二进制是2,16进制是16,8进制是8.
8 --> 10 : 46.5O = 4*8^1 + 6*8^0 + 5*8^-1 = 32 + 6 + 5/8 = 38.625D
16 --> 10 : 26.AO = 2*16^1 + 6*16^0 + 10(A) * 16^-1 = 32 + 6 + 10/16 = 38.625
OK 清晰的理解上面的转换规则,遇到数制转换也就不会再有问题了.
相关文章推荐
- 计算机的运行基础数制表示与转换
- 计算机科学基础知识(六)理解栈帧
- python字母、哈希数字表转换- 笔记:udacity计算机科学导论18/14
- 计算机视觉基础(一)——左右手坐标系转换时R和T的具体形式分析
- 计算机基础——数制系统,dos命令
- 正义社会的硬件基础(计算机科学)
- 计算机科学和编程导论-week1-编程基础
- lecture 1 计算机科学简介和编程基础
- 计算机科学的理论基础
- 计算机科学技术基础知识之标准化和知识产权基础知识
- 第1章 初识计算机病毒 1.1 计算机病毒基础知识
- 南大Mooc计算机体系基础--IA_32地址转换
- Contest1319 - 期末习题汇总(二) 计算机基础---进制转换相关
- 具体数学:计算机科学基础:第2版
- 计算机数据的表示基础知识—常用计数制及转换
- 一 计算机科学基础 1.2 数据的表示 数的表示
- 1.1数制和转换
- 一 计算机科学基础 1.2 非数值数据的表示
- 600X笔记(week-1 计算机科学简介及编程基础)