各种进制数相互转换技巧--个人学习

十进制转R进制数

十进制数是组成以10为基础的数字系统,有0,1,2,3, 4, 5, 6, 7, 8, 9十个基本数字组成。十进制,英文名称为Decimal System,来源于希腊文Decem,意为十。十进制计数是由印度教教徒在1500年前发明的,由阿拉伯人传承至11世纪。
所有的数字都用10个基本的符号表示,满十进一,同时同一个符号在不同位置上所表示的数值不同,符号的位置非常重要。基本符号是0到9十个数字。要表示这十个数的10倍,就将这些数字右移一位,用0补上空位,即10,20,30,…,90;要表示这十个数的10倍,就继续左移数字的位置,即100,200,300,…。要表示一个数的1/10,就右移这个数的位置,需要时就0补上空位:1/10位0.1,1/100为0.01,1/1000为0.001。

  1. 十进制数转二进制数
    问:十进制数156,转换为二进制数是多少?
    十进制数转其他进制,使用短除法:

    	156 / 2  --------0
     	78/2     --------0
     	39/2   --------1
     	19/2 --------1
     	9/2 --------1
     	4/2--------0
     	2/2--------0
     	1
    

    当最后被除数小于除数时,结束短除,其结果由下往上,将余数写到一起,10011100

  2. 十进制数转八进制数
    问:十进制数156,转换为八进制数是多少?
    十进制数转其他进制,使用短除法:

    156/8  --------4
    19/8  --------3
    

2
当最后的结果小于8时,结束短除。其结果为234
3. 十进制数转十六进制数
问:十进制数156,转换为十六进制数是多少?
十进制数转其他进制,使用短除法:

156/16 --------12
9

十六进制数在超过9时,分别用字母A,B,C,D,E,F表示10,11,12,13,14,15,即上面的结果为9C

R进制转十进制数

八进制,Octal,缩写OCT或O,一种以8为基数的计数法,采用0,1,2,3,4,5,6,7八个数字,逢八进1。一些编程语言中常常以数字0开始表明该数字是八进制。八进制的数和二进制数可以按位对应(八进制一位对应二进制三位),因此常应用在计算机语言中。

  1. 八进制数转十进制数
    问:八进制数156,转换为十进制数是多少?
    R进制转十进制数,以按权展开法,权表示R,即R^k

     1 * 8^2 + 5 * 8^1 + 6 * 8^0  = 64 + 40 + 6 = 110
    

其结果为110


二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”。
二进制数(binaries)是逢2进位的进位制,0、1是基本算符;计算机运算基础采用二进制。

  1. 二进制数转十进制数

问:二进制数101101,转换为十进制数是多少?
R进制转十进制数,以按权展开法,权表示R.

	 1 * 2^5 + 1 * 2^3 + 1 * 2^2 + 1 * 2^0 = 45

0乘任何数为0 ,所以省去了4,1两位计算
其结果为45


十六进制(简写为hex或下标16)在数学中是一种逢16进1的进位制。一般用数字0到9和字母A到F(或a-f表示,其中:A-F表示10~15,这些称作十六进制数字。

  1. 十六进制数转十进制数

问:十六进制数2E3F,转换为十进制数是多少?

2 * 16^3 + 14 * 16^2 + 3 * 16^1 + 15 * 16^0 = 11839

R进制数转R进制数

  1. 二进制数转八进制数
    问:二进制数10110,转为八进制数是多少?
    二进制数每三位对应一位八进制数。----- 111 = 7

    010    													  		 110
    0*2^2 + 1*2^1 + 0		=  2							1*2^2 + 1*2^1 + 0 = 6
    

    计算结果为o26或者(26)8

  2. 二进制数转十六进制数
    问:二进制数10110,转为十六进制数是多少?
    二进制数每四位对应一位十六进制数。--------1111 = 15
    0001 0110
    1 12^2 + 12 ^ 1 = 6

计算结果为hex26或者(16)16
3. 八进制数转二进制数
问:八进制数26,转为二进制数是多少?

2 -------------010
6--------------110

计算结果为 010110
4. 八进制数转十六进制数
问:八进制数26,转为十六进制数是多少?
2*8 + 6 = 22 八进制数转十进制数为22
十进制数转十六进制 数: 22/16 --------------1 ------6
其结果为16

总结

进制转换,可以将任何进制先转换为10进制,再转换为其他相应的进制;或者可以将任何进制先转换为2进制,在转换为相应的进制数。
1、任何进制转10进制,可以使用按权展开法
2、10进制转任何进制,可以使用短除法

八进制转二进制时,一位八进制数表示三位的二进制数,例如 275就可以按以下算法:

2/2 -------------------0
1                      结果为010
 
 7/2 --------------------1
 3 -----------------1
 1                    结果为111    
5/2 -------------------1
2--------------------0    
1                      结果为101

最终结果:010 111 101

十六进制数转为二进制时,一位十六进制数 表示四位二进制数,例如 EF8A就可以按照以下算法:

E -- 14 / 2 -----------------0
			7/2-----------------1
			3/2------------------1
			1  结果为1110
F--15  结果为1111
8/2  ------------0
4/2---------------0
2/2----------------0
1   结果为1000
A--10/2-----------0
	5/2-------------1
	2/2------------------0
	1  结果为1010

最终结果:1110 1111 1000 1010

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值