(一)、数制 计算机中采用的是二进制,因为二进制具有运算简单,易实现且可靠,为逻辑设计提供了有利的途径、节省设备等优点,为了便于描述,又常用八、十六进制作为二进制的缩写。
一般计数都采用进位计数,其特点是: (1)逢N进一,N是每种进位计
数制表示一位数所需要的符号数目为基数。 (2)采用位置表示法,处在不同位置的数字所代表的值不同,而在固定位置上单位数字表示的值是确定的,这个固定位上的值称为权。 在计算机中:D7 D6 D5 D4 D3 D2 D1 D0 只有两种0和1 8 4 2 1二)、数制转换不同进位计数制之间的转换原则:不同进位计数制之间的转换是根据两个有理数如相等,则两数的整数和分数部分一定分别相等的原则进行的。也就是说,若转换前两数相等,转换后仍必须相等。进制:有10个基数:0 ,1,2,3,4,5,6,7,8, 9 逢十进一 二进制:有2 个基数:0 ,1  逢二进一 八进制:有8个基数:0 ,1,2,3,4,5,6, 7 逢八进一十六进制:有16个基数:0 ~~ 9,A,B,C,D,E,F (A=10,B=11,C=12,D=13,E=14,F=15) ,逢十六进一

1、数的进位记数法 N=a n-1*p n-1+a n-2*p n-2+…+a2*p2+a1*p1+a0*p0】

2、十进制与(二、八、十六)进制数之间的转换

(1)十进制转换成二进制:十进制转二进制通常采用除2取余法,十进制数逐次整除2,直至商为0,所得余数按相反顺序写出,即为二进制数。

在十进制与二进制的转换时,采用8421法则。

8    7      6       5     4    3    2   1

128    64    32     16    8    4    2   1

例:(36)10转换为二进制

2  | 36....0

2  | 18....0

2  |  9....1

2  |  4....0

2  |  2....0

1

所以(36)10即为(100100)2

同样,十进制转化为八、十六进制

例1:(129)10转换为八进制

8 |  129....1

8 |   16....0

2

所以(129)10即为(201)8

例2:(179)10转换为十六进制

16| 179...3

11

在十六进制中,11必须写为B,所以(179)10即为(B3)16

(2)其他进制数p转换为十进制

二进制转换为十进制:采用a*p0+b*p1+c*p2+......n*pn-1

例:(1011001)2转换为十进制

1*20+0*21+0*22+1*23+1*24+0*25+1*26=89

同样,八、十六进制转换为十进制

例1:(1213210)8

=0*80+1*81 +2*82 +3*83 +1*84 +2*85 +1*86

=(333448)10

例2:(1BC2)16

=2*160 +C*161 +B*162 +1*163

=2*160+12*161 +11*162 +1*163

=(1119)10

(3)其他进制之间的转换

二进制转换为八进制:对于整数,采用从右到左每三位一组,不够三位的在其左边补齐0,每组单独转换出来,即为八进制数。

例:(001 101  111   011)2

1     5       7      3

所以,(1573)8即为所得的八进制数。

八进制转换为二进制:将每位八进制由三位二进制数代替,即可完成转换。

例:(1    7   3     5  )8

001 111 011 101

所以,(1111011101)2即为所得的二进制数。

二进制转换为十六进制:由于2的4次方=16,所以依照二进制与八进制的转换方法,将进制数的每四位用一个十六进制数码来表示,整数部分以小数点为界点从右往左每四位一组转换,小数部分从小数点开始自左向右每四位一组进行转换。

例:(1001 0111 0111 1001)2

9       7      7      9

所以,(9779)16为所得的十六进制数

十六进制转换为二进制:只要将每一位十六进制数用四位相应的进制数表示,即可完成转换。例:( 8     7       6     5)16

1000 0111 0110  0101

所以,(1000 0111 0110 0101)2为所得的二进制数。

最新文章

  1. 通俗易懂的来讲讲DOM
  2. Cocos2d 利用继承Draw方法制作可显示三维数据(宠物三维等)的三角形显示面板
  3. UIAlertController警告视图和操作表单
  4. jquery点击label触发2次的问题
  5. 【Unity3D游戏开发】Application.systemLanguage无法区分简体中文和繁体中文 (二六)
  6. Python2.x与3​​.x版本区别
  7. Java中ThreadLocal的深入理解
  8. spring事务的传播特性
  9. Angular.js入门的样例
  10. Linux内存分析
  11. Wix学习整理(6)——安装快捷方式
  12. 整合最优雅SSM框架:SpringMVC + Spring + MyBatis
  13. 关于java中的==,equals()
  14. JAVA处理Http请求(GET,POST)
  15. javascript学习笔记01--javascript的基本介绍
  16. boot.img格式文件拆解实例结构解析
  17. K8s创建pod yaml文件详解
  18. Unix And Linux
  19. ref:下一个项目为什么要用 SLF4J
  20. Git出现error: Your local changes to the following files would be overwritten by merge: ... Please, commit your changes or stash them before you can merge.的问题解决(Git代码冲突)

热门文章

  1. Vue v-on v-model 组合使用
  2. ROS创建工作空间
  3. RocketMQ原理讲解系列文章
  4. Redis源码研究:哈希表 - 蕫的博客
  5. 如何破解mssql for linux 3.5G内存的限制
  6. jquery——简单的下拉列表制作及bind()方法的示例
  7. 剑指offer-7.旋转数组的最小数字
  8. New Concept English there (60)
  9. docker下安装 Oracle11gR2
  10. Docker-安装与部署