Ⅰ 二进制转三,四,五,六,七,八,九进制
先把二进制转化为十进制,然后在把十进制转换为所需要的三、四、五、六、七、八、九进制,转化的方法同十进制转化为二进制相同。例如二进制的0010 0000,转化为十进制为32,用除三取余逆写法,转化为三进制为1012(此处为三进制),转四五六七八九方法相同。
Ⅱ 二进制、三进制、四进制等怎样和十进制相互转化
假设有二进制数10110,那么转化为十进制数为:
1*2^4+0*2^3+1*2^2+1*2^1+0*2^0
假设有三进制数2101,那么转化为十进制数为:
2*3^3+1*3^2+0*3^1+1*3^0
四进制也同理。
把十进制转化为二进制,用除法求余,其他进制的转化同理。
Ⅲ 各进制转换方法
下面只说明整数的转换方法。
①十进制转换为n进制:
反复除以n,直到商为0,把余数从后往前连在一起,就可以了。如:101转换为7进制数:
101/7=14……3
14/7=2……0
2/7=0……2
结果101的七进制数是203。
②n进制转换为十进制:
从左到右,各位按照权重n^(位数-1)计算和即可。如3进制的2012转换为十进制:
2×3³+0×3²+1×3+2=54+3+2=59
结果三进制2012的十进制数是59。
③m进制与n进制的转换,一般需要用十进制数做中间跳板,先把m进制转换为十进制,再把十进制转换为n进制。
③有些特殊的进制转换,不需要用十进制做跳板,直接转换即可。如二进制、八进制、十六进制之间的转换。
有什么问题请留言。
Ⅳ 二进制,三进制,四进制等怎样和十进制相互转化
写n进制的基数的方法:个位是1,高位是低位乘以n
举例说明:
1010B=?D
写出二进制每位上的基数
8,4,2,1 然后将要转换的数按位对齐写在下面一行
1,0,1,0 此式按位上下做乘法结果左右做加法=1*8+0*4+1*2+0*1=8+2=10
1010B=10D,其他n进制转换,写出n进制基数,然后一样算即可
21D=()3
还是写三进制基数,写到比21大为止:
27,9,3,1 用这组数从高到低将21凑出来,用到几个该位下面就写几,没用到的写0
_0,2,1,0
21=2*9+3=2*9+1*3=0*27+2*9+1*3+0*1
所以21D=(210)3,十进制转成其他n进制,写出n进制基数,然后同样计算即可
简单吧,只要会写基数即可,写基数只要记住个位是1即可
Ⅳ 如何将2进制转换为三进制,大数的
这个最好能用到十进制数作为中间的转变量:
以下这个程序就可以转换64位长度的二进制数为三进制数,其中的__int64 可以用unsigned long long 来代替,只是因为我是用VC6运行的,VC6不支持unsigned long long
#include<stdio.h>
void main()
{
int i,j,k,n,x;
char a[65],d[65];
int b[65];
__int64 num;
scanf("%d\n",&n);
for(i=0;i<n;i++)
{
gets(a);
for(j=0;a[j]!='\0';j++)
{
b[j]=a[j]-'0';
}
num=0;
for(k=0;k<j;k++)
{
num=num*2+b[k];
}
x=0;
if(num==0)
printf("0");
while(num>0)
{
d[x]=num%3;
x++;
num/=3;
}
while(x--)
printf("%d",d[x]);
printf("\n");
}
}
Ⅵ 1010111二进制转化为三进制的过程讲解
(1010111)2=(87)10
87/3=29……0
29/3=9……2
9/3=3……0
3/3=1……0
1/3=0……1
(87)10=(10020)3
==================
10进制整数转换为2进制数,采用除2反向取余法:
1010111/2=505055......1
505055/2=252527......1
252527/2=126263......1
126263/2=63131......1
63131/2=31565......1
31565/2=15782......1
15782/2=7891......0
7891/2=3945......1
3945/2=1972......1
1972/2=986......0
986/2=493......0
493/2=246......1
246/2=123......0
123/2=61......1
61/2=30......1
30/2=15......0
15/2=7......1
7/2=3......1
3/2=1......1
1/2=0......1
从下往上读取每一次的余数,就是转换的结果:
1010111=(11110110100110111111)2
Ⅶ 将二进制数111011(2)转化为三进制数
111011(2)
=1*2+1*2^2+0*2^3+1*2^4+1*2^5+1*2^6
=119
一、二进制数的表示法
二进制是计算技术中广泛采用的一种数制。二进制数是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”。二进制数也是采用位置计数法,其位权是以2为底的幂。例如二进制数110.11,其权的大小顺序为2^2、2^1、2^0、2^-1、2^-2。对于有n位整数,m位小数的二进制数用加权系数展开式表示,可写为:
(a(n-1)a(n-2)…a(-m))2=a(n-1)×2^(n-1)+a(n-2)×2^(n-2)+……+a(1)×2^1+a(0)×2^0+a(-1)×2^(-1)+a(-2)×2^(-2)
+……+a(-m)×2^(-m)
二进制数一般可写为:(a(n-1)a(n-2)…a(1)a(0).a(-1)a(-2)…a(-m))2。
注意:
1.式中aj表示第j位的系数,它为0和1中的某一个数。
2.a(n-1)中的(n-1)为下标,输入法无法打出所以用括号括住,避免混淆。
3.2^2表示2的平方,以此类推。
【例1102】将二进制数111.01写成加权系数的形式。
解:(111.01)2=(1×2^2)+(1×2^1)+(1×2^0)+(0×2^-1)+(1×2^-2)
Ⅷ 怎样进行进制间的转换
进制间的转换
一、进制与十进制之间的转换
1.十进制转二进制
方法为:十进制数除2取余法,即十进制数除2,余数为权位上的数,得到的商值继续除2,依此步骤继续向下运算直到商为0为止。
(具体用法如下图)
Ⅸ 二进制怎么转化成其他进制(详细过程)
计算机中常用的数的进制主要有:二进制、八进制、十六进制,学习计算机要对其有所了解。
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。字母不区分大小写。
以下简介各种进制之间的转换方法:
一、二进制转换十进制
例:二进制 “1101100”
1101100 ←二进制数
6543210 ←排位方法
例如二进制换算十进制的算法:
1*26 + 1*25 + 0*24 + 1*23 + 1* 22 + 0*21 + 0*20
↑ ↑
说明:2代表进制,后面的数是次方(从右往左数,以0开始)
=64+32+0+8+4+0+0
=108
二、二进制换算八进制
例:二进制的“10110111011”
换八进制时,从右到左,三位一组,不够补0,即成了:
010 110 111 011
然后每组中的3个数分别对应4、2、1的状态,然后将为状态为1的相加,如:
010 = 2
110 = 4+2 = 6
111 = 4+2+1 = 7
011 = 2+1 = 3
结果为:2673
三、二进制转换十六进制
十六进制换二进制的方法也类似,只要每组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
四、二进制数转换为十进制数
二进制数第0位的权值是2的0次方,第1位的权值是2的1次方……
所以,设有一个二进制数:0110 0100,转换为10进制为:
计算: 0 * 20 + 0 * 21 + 1 * 22 + 1 * 23 + 0 * 24 + 1 * 25 + 1 * 26 + 0 * 27 = 100
五、八进制数转换为十进制数
八进制就是逢8进1。
八进制数采用 0~7这八数来表达一个数。
八进制数第0位的权值为8的0次方,第1位权值为8的1次方,第2位权值为8的2次方……
所以,设有一个八进制数:1507,转换为十进制为:
计算: 7 * 80 + 0 * 81 + 5 * 82 + 1 * 83 = 839
结果是,八进制数 1507 转换成十进制数为 839
六、十六进制转换十进制
例:2AF5换算成10进制
直接计算就是: 5 * 160 + F * 161 + A * 162 + 2 * 163 = 10997
(别忘了,在上面的计算中,A表示10,而F表示15)、
现在可以看出,所有进制换算成10进制,关键在于各自的权值不同。
假设有人问你,十进数 1234 为什么是 一千二百三十四?你尽可以给他这么一个算式: 1234 = 1 * 103 + 2 * 102 + 3 * 101 + 4 * 100
Ⅹ 把二进制数1101010(2)化为三进制数(要求详细过程)
以十进制为中介:
1101010(2)=2^6+2^5+2^3+2=106(10)
化为三进制数应连续除以3:
106......1
35......2
11......2
3......0
1
把余数从下往上连写即可:10221(3)