① 关于计算机的进制转换方法
进数转换:
1、二进制数、十六进制数转换为十进制数(按权求和)
二进制数、十六进制数转换为十进制数的规律是相同的。把二进制数(或十六进制数)按位权形式展开多项式和的形式,求其最后的和,就是其对应的十进制数——简称“按权求和”.
例如:把(1001.01)2 二进制计算。
解:(1001.01)2
=8*1+4*0+2*0+1*1+0*(1/2)+1*(1/4)
=8+0+0+1+0+0.25
=9.25
2、十进制数转换为二进制数,十六进制数(除2/16取余法)
整数转换.一个十进制整数转换为二进制整数通常采用除二取余法,即用2连续除十进制数,直到商为0,逆序排列余数即可得到――简称除二取余法.
例:将25转换为二进制数
解:25÷2=12 余数1
12÷2=6 余数0
6÷2=3 余数0
3÷2=1余数1
1÷2=0 余数1
所以25=(11001)2
同理,把十进制数转换为十六进制数时,将基数2转换成16就可以了.
例:将25转换为十六进制数
解:25÷16=1 余数9
1÷16=0 余数1
所以25=(19)16
3、二进制数与十六进制数之间的转换
由于4位二进制数恰好有16个组合状态,即1位十六进制数与4位二进制数是一一对应的.所以,十六进制数与二进制数的转换是十分简单的.
十六进制数转换成二进制数,只要将每一位十六进制数用对应的4位二进制数替代即可――简称位分四位。
例:将(4AF8B)16转换为二进制数.
解: 4 A F 8 B
0100 1010 1111 1000 1011
所以(4AF8B)16=(1001010111110001011)2
所以(111010110)2=(1D6)16
转换时注意最后一组不足4位时必须加0补齐4位
(1)转换进制的简便方法扩展阅读:
数制转换的一般化
R进制转换成十进制:任意R进制数据按权展开、相加即可得十进制数据。
例如:N = 1101.0101B = 1*2^3+1*2^2+0*2^1+1*2^0+0*2^-1+1*2^-2+0*2^-3+1*2^-4 = 8+4+0+1+0+0.25+0+0.0625 = 13.3125
N = 5A.8H = 5*16^1+A*16^0+8*16^-1 = 80+10+0.5 = 90.5
2)十进制转换R 进制
十进制数转换成R 进制数,须将整数部分和小数部分分别转换。
② 进制转换有什么好的简便方法吗高手解答一下
电脑系统里的计算器就有进制转换,点“查看”,选“程序员”,2、8、10、16进制可以互相转换
③ 各种进制间的换算方法是什么,有简便方法吗
给你一个简单的程序,也许能帮到你
④ 十进制二进制互相转换,其他的进制有简便方法吗
十进制整数转换为二进制整数采用"除2取余,逆序排列"法。
具体做法是:用2整除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为小于1时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。
原理:
众所周知,二进制的基数为2,我们十进制化二进制时所除的2就是它的基数。谈到它的原理,就不得不说说关于位权的概念。某进制计数制中各位数字符号所表示的数值表示该数字符号值乘以一个与数字符号有关的常数,该常数称为 “位权 ” 。
位权的大小是以基数为底,数字符号所处的位置的序号为指数的整数次幂。十进制数的百位、十位、个位、十分位的权分别是10的2次方、10的1次方、10的0次方,10的-1次方。二进制数就是2的n次幂。
(4)转换进制的简便方法扩展阅读:
十进制小数转换为二进制小数:
十进制小数转换成二进制小数采用"乘2取整,顺序排列"法。具体做法是:用2乘十进制小数,可以得到积,将积的整数部分取出,再用2乘余下的小数部分,又得到一个积,再将积的整数部分取出,如此进行,直到积中的小数部分为零,此时0或1为二进制的最后一位。或者达到所要求的精度为止。
然后把取出的整数部分按顺序排列起来,先取的整数作为二进制小数的高位有效位,后取的整数作为低位有效位。
原理:
假设一十进制小数B化为了二进制小数0.ab的形式,同样按权展开,得B=a(2^-1)+b(2^-2)
因为小数部分的位权是负次幂,所以我们只能乘2,得2B=a+b(2^-1)
注意a变成了整数部分,我们取整数正好是取到了a,剩下的小数部分也如此。
值得一提的是,小数部分的按权展开的数位顺数正好和整数部分相反,所以不必反向取余数了。
参考资料:网络-十进制转二进制
⑤ 二进制转十六进制简便方法
十六进制就是逢16进1
0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f 十五个字符组成
比如 1+f=10 (满16了,进1位)
计算机中常用的数的进制主要有:二进制、八进制、十六进制,学习计算机要对其有所了解。
2进制,用两个阿拉伯数字:0、1;
8进制,用八个阿拉伯数字:0、1、2、3、4、5、6、7;
10进制,用十个阿拉伯数字:0到9;
16进制就是逢16进1,但 们只有0~9这十个数字,所以 们用a,b,c,d,e,f这五个字母来分别表示10,11,12,13,14,15。字母不区分大小写。
二进制转换十六进制
十六进制换二进制的方法也类似,只要每组4位,分别对应8、4、2、1就行了,如分解为:
0101 1011 1011
运算为:
0101 = 4+1 = 5
1011 = 8+2+1 = 11(由于10为a,所以11即b)
1011 = 8+2+1 = 11(由于10为a,所以11即b)
结果为:5bb
⑥ 进制之间转换最简便的方法
下载转换软件.
⑦ 二进制转换十进制的简单方法
方法一:从右到左用二进制的每个数去乘以2的相应次方,小数点后则是从左往右
例:二进制数1101.01转化成十进制
1101.01(2)
=1*2【0】+0*2【1】+1*2【2】+1*2【3】 +0*2【-1】+1*2【-2】
=1+0+4+8+0+0.25=13.25(10)
方法二:把二进制数首先写成加权系数展开式,然后按十进制加法规则求和。这种做法称为"按权相加"法。
对于有n位整数,m位小数的二进制数用加权系数展开式表示,可写为:N(2)=an-1×2n-1+an-2×2n-2+……+a1×21+a0×20+a-1×2-1+a-2×2-2+……+a-m×2-m(10)式中aj表示第j位的系数,它为0和1中的某一个数。
例:二进制数1101转化成十进制
1101(2)
=1*2【3】+1*2【2】+0*2【1】+1*2【0】
=13(10)
注意:
1、【】括号内数字代表次方,如【2】为二次方,【-1】为负一次方。
2、()括号内代表进制数,(2)为二进制,(10)为十进制。
以下为二进制转是进制代码:
int readint(int a) //a 是传入二进制位数
{
int sum = 0;
while (a--) {
sum *=2;
sum += getchar() - '0'; // getchar 读入相应十进制的每一位
}
return sum; // sum 是相应的十进制
}
⑧ 进制转化有没有简便方法
Windows有自带这个工具啊。。。
开始-所有程序-附件-计算器-查看-科学型。。
单击十进制,再输入数字,再单击二进制,数字就转换好了。。
至于负数,目前没有好的办法。。
⑨ 二进制怎样转换成十进制的简便方法
把二进制数存放为字符串,用函数 strtol() 直接转整型,就得到 10进制数值了。
例如:
#include <stdio.h>
int main()
{
char s[]="01110100110"; //存放为字符串
int a;
a = strtol(s,NULL,2);
printf("%d\n",a);
return 0;
}
比较短小的2进制数,手算也可,例如:
110110 = 32*1+16*1+0+4*1+2*1+0 = 32+16+4+2=54。
⑩ 二进制转为 8 进制,用什么简便的方法计算
;附件>计算器>查看>科学型 就可以打开科学计算器
例1:二进制 101010 转 十进制
方法:点一下二进制,输入101010,点一下十进制 得出结果42
二:笔算,各种进制 先转成十进制 然后转换成其他进制。这个方法可以完成任意进制的转换
★首先说一下,如何将二进制 转成十进制
一个二进制数,从最后一位开始算,依次列为第0、1、2...n位
如11010 从右开始数 分别为 01011
0 第0位
1 第1位
0 第2位
1 第3位
1 第4位
二进制中的0不算,只看1出现在第几位,算出2的 第n次方,然后将他们全都加起来,其中的1出现在 第1位 第3位 第4位,
最终答案就是:1乘二的1次方+1乘二的3次方+1乘二的4次方 =26
八进制转换成十进制 是一样的道理,只是2的n次方换成了 八 的n次方
如八进制 1234 转成十进制
4 第0位
3 第1位
2 第2位
1 第3位
4*八的0次 + 3*八的1次方 + 2*八的2次方 + 1*八的3次方= 2257
十六进制转换成十进制 是一样的道理,只是八的n次方换成了 十六 的n次方
特别注意的是,十六进制0到16标示为 0123456789ABCDEF 其中A=10 F=15 中间类推,不累述。
如十六进制 A5B6 转成十进制
6 第0位
B 第1位
5 第2位
A 第4位
计算:将字母转换成相应的数字即可 得出结果
6*十六的0次方 + B*十六的1次方 + 5*十六的2次方 + A*十六的4次方
6*十六的0次方 +11*十六的1次方 + 5*十六的2次方 +10*十六的4次方=42422
★下面来研究一下 如何将 十进制转换成 各种进制
☆12345 转成 二进制 就是12345 除以2
☆12345 转成 八进制 就是12345 除以8
☆12345 转成 十六进制 就是123456除以16
123 转成 二进制 就是123 除以2 每次求余
123/2=61 余1
61/2=30 余1
30/2=15 余0
15/2=7 余1
7/2=3 余1
3/2=1 余1
余数从下往上排列 二进制就是 111011, 再把最后一步3/2=1 中的1 家在最前面得 1 111011 就是二进制结果了。
123 转成 八进制进制 就是123 除以8 每次求余
123/8=15 余3
15/8=1 余7
把最后15/8=1 中的1 算上, 余数从下往上排列 记过就是 173
123 转成 16进制进制 就是123 除以16 每次求余
123/16=7 余11 16进制中 11用B表示
把最后123/16=1 中的1 算上, 余数从下往上排列 记过就是 7B
为了更能说明问题 换个大点的数
十进制 12345转换成16进制
12345/16=771 余9
771/16 =48 余3
48/16 =3 余0
把最后48/16=3 中的3 算上,余数从下往上排列 记过就是 3039
从头到位看明白之后,你就可以完成任意 进制的转换了。
以十进制为中转站:各种进制 转 十进制 转 各种进制!!
回答结束,以上内容 本人原创编辑: 祝好运!!