二进制和十进制和八进制和十六进制的转换,急

作者&投稿:宫琦 (若有异议请与网页底部的电邮联系)
二进制数转换为对应的十进制、八进制和十六进制数,C语言?~

#include
#include
char s[128];
int main(){
printf("Input a binary number:");
gets(s);
int len,i,n=0;
len=strlen(s);
for (i=0; i<len; i++) {
if(s[i]=='1'){
n<<=1;
n|=1;

}
else{
n<<=1;
}
}
printf("The number is %d in decimal.
",n);
printf("The number is %o in octal.
",n);
printf("The number is %X in octal.
",n);
}

ccandbobo
2011-08-05 09:22
一。进制概念

1。 十进制

十进制使用十个数字(0、1、2、3、4、5、6、7、8、9)记数,基数为10,逢十进一。

历史上第一台电子数字计算机ENIAC是一台十进制机器,其数字以十进制表示,并以十进制形式运算。设计十进制机器比设计二进制机器复杂得多。而自然界具有两种稳定状态的组件普遍存在,如开关的开和关,电路的通和断,电压的高和低等,非常适合表示计算机中的数。设计过程简单,可靠性高。因此,现在改为二进制计算机。

2。 二进制

二进制以2为基数,只用0和1两个数字表示数,逢2进一。

二进制与遵循十进制数遵循一样的运算规则,但显得比十进制更简单。例如:

(1)加法:0+0=0 0+1=1 1+0=1 1+1=0

(2)减法:0-0=0 1-1=01-0=1 0-1=1

(3)乘法:0*0=0 0*1=01*0=0 1*1=1

(4)除法:0/1=0 1/1=1,除数不能为0

3。 八进制

所谓八进制,就是其基数为8,基数值可以取0、1、2、3、4、5、6、7共8个值,逢八进一。

八进制与十进制运算规则一样。那么为什么要用八进制呢?难道要设计八进制的计算机么?实际上,八进制与十六进制的引用,主要是为了书写和表示方便,因为二进制表示位数比较长。如:(1024)10 用二进制表示为 (10000000000)2,共有11个数字,用八进制表示为(2000)8。更重要的是,由于二进制与八进制存在在一种对等关系,每三位二进制与一位八进制数完全对等(23=8)。所以二进制和十进制在运算上无区别,而时进制不具备这一优点。

4。 十六进制

十六进制应用也是非常广泛的一种计数制。在使用者看来,十六进制是二进制数的一种更加紧凑的一种表示方法。

基数为:0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F,逢十进一。在十六进制系统中,数值为10到15的数分别用A、B、C、D、E、F表示。

二进制数及与之等值的八进制、十进制和十六进制数

二进制 八进制 十进制 十六进制
0000 0 0 0
0001 1 1 1
0010 2 2 2
0011 3 3 3
0100 4 4 4
0101 5 5 5
0110 6 6 6
0111 7 7 7
1000 10 8 8
1001 11 9 9
1010 12 10 A
1011 13 11 B
1100 14 12 C
1101 15 13 D
1110 16 14 E
1111 17 15 F

二。进制转换

1。二进制与十进制数间的转换

(1)二进制转换为十进制

将每个二进制数按权展开后求和即可。请看例题:

把二进制数(101.101)2=1*22+0*21+1*20+1*2-1+0*2-2+1*2-3=(5.625)10

(2)十进制转换为二进制

一般需要将十进制数的整数部分与小数部分分开处理。

整数部分计算方法:除2取余法请看例题:

十进制数(53)10的二进制值为(110101)2

小数部分计算方法:乘2取整法,即每一步将十进制小数部分乘以2,所得积的小数点左边的数字(0或1)作为二进制表示法中的数字,第一次乘法所得的整数部分为最高位。请看例题:

将(0.5125)10转换成二进制。(0.5125)10=(0.101)2

2。 八进制、十六进制与十六进制间的转换

八进制、十六进制与十六进制之间的转换方法与二进制,同十进制之间的转换方法类似。例如:

(73)8=7*81+3=(59)10

(0.56)8=5*8-1+6*8-2=(0.71875)10

(12A)16=1*162+2*161+A*160=(298)10

(0.3C8)16=3*16-1+12*16-2+8*16-3=(0.142578125)10

十进制整数→→→→→八进制方法:“除8取余”

十进制整数→→→→→十六进制方法:“除16取余” 例如:

(171)10=(253)8

(2653)10=(A5D)16

十进制小数→→→→→八进制小数 方法:“乘8取整”

十进制小数→→→→→十六进制小数方法:“乘16取整”例如:

(0。71875)10=(0.56)8

(0.142578125)10=(0.3C8)16

3.非十进制数之间的转换

(1)二进制数与八进制数之间的转换

转换方法是:以小数点为界,分别向左右每三位二进制数合成一位八进制数,或每一位八进制数展成三位二进制数,不足三位者补0。例如:

(423。45)8=(100 010 011.100 101)2

(1001001.1101)2=(001 001 001.110 100)2=(111.64)8

2。二进制与十六进制转换

转换方法:以小数点为界,分别向左右每四位二进制合成一位十六进制数,或每一位十六进制数展成四位二进制数,不足四位者补0。例如:

(ABCD。EF)16=(1010 1011 1100 1101.1110 1111)2

(101101101001011.01101)2=(0101 1011 0100 1011.0110 1000)2=(5B4B。68)16



十进制 二进制 八进制 十六进制
12.45 1100.01110011 14.346 C.73
25.875 11001.111 31.7 19.E
87 1010111 127 57
37 100101 45 25
37 100101 45 25
232 11101000 350 e8

十进制
二进制
八进制
十六进制
12.45
1100.01110011
14.346
C.73
25.875
11001.111
31.7
19.E
87
1010111
127
57
37
100101
45
25
37
100101
45
25
232
11101000
350
e8

数制
计算机中采用的是二进制,因为二进制具有运算简单,易实现且可靠,为逻辑设计提供了有利的途径、节省设备等优点,为了便于描述,又常用八、十六进制作为二进制的缩写。

一般计数都采用进位计数,其特点是:
(1)逢N进一,N是每种进位计数制表示一位数所需要的符号数目为基数。
(2)采用位置表示法,处在不同位置的数字所代表的值不同,而在固定位置上单位数字表示的值是确定的,这个固定位上的值称为权。
在计算机中:D7 D6 D5 D4 D3 D2 D1 D0 只有两种0和1
8 4 2 1

二)、数制转换
不同进位计数制之间的转换原则:不同进位计数制之间的转换是根据两个有理数如相等,则两数的整数和分数部分一定分别相等的原则进行的。也就是说,若转换前两数相等,转换后仍必须相等。
有四进制
十进制:有10个基数:0 ~~ 9 ,逢十进一
二进制:有2 个基数:0 ~~ 1 ,逢二进一
八进制:有8个基数:0 ~~ 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、十进制数与P进制数之间的转换
①十进制转换成二进制:十进制整数转换成二进制整数通常采用除2取余法,小数部分乘2取整法。例如,将(30)10转换成二进制数。
将(30)10转换成二进制数
2| 30 ….0 ----最右位
2 15 ….1
2 7 ….1
2 3 ….1
1 ….1 ----最左位
∴ (30)10=(11110)2
将(30)10转换成八、十六进制数
8| 30 ……6 ------最右位
3 ------最左位
∴ (30)10 =(36)8

16| 30 …14(E)----最右位
1 ----最左位
∴ (30)10 =(1E)16
3、将P进制数转换为十进制数
把一个二进制转换成十进制采用方法:把这个二进制的最后一位乘上20,倒数第二位乘上21,……,一直到最高位乘上2n,然后将各项乘积相加的结果就它的十进制表达式。
把二进制11110转换为十进制
(11110)2=1*24+1*23+1*22+1*21+0*20=
=16+8+4+2+0
=(30)10

把一个八进制转换成十进制采用方法:把这个八进制的最后一位乘上80,倒数第二位乘上81,……,一直到最高位乘上8n,然后将各项乘积相加的结果就它的十进制表达式。
把八进制36转换为十进制
(36)8=3*81+6*80=24+6=(30)10
把一个十六进制转换成十进制采用方法:把这个十六进制的最后一位乘上160,倒数第二位乘上161,……,一直到最高位乘上16n,然后将各项乘积相加的结果就它的十进制表达式。
把十六制1E转换为十进制
(1E)16=1*161+14*160=16+14=(30)10
3、二进制转换成八进制数
(1)二进制数转换成八进制数:对于整数,从低位到高位将二进制数的每三位分为一组,若不够三位时,在高位左面添0,补足三位,然后将每三位二进制数用一位八进制数替换,小数部分从小数点开始,自左向右每三位一组进行转换即可完成。例如:
将二进制数1101001转换成八进制数,则
(001 101 001)2
| | |
( 1 5 1)8
( 1101001)2=(151)8

(2)八进制数转换成二进制数:只要将每位八进制数用三位二进制数替换,即可完成转换,例如,把八进制数(643.503)8,转换成二进制数,则
(6 4 3 . 5 0 3)8
| | | | | |
(110 100 011 . 101 000 011)2
(643.503)8=(110100011.101000011)2
4、二进制与十六进制之间的转换
(1)二进制数转换成十六进制数:由于2的4次方=16,所以依照二进制与八进制的转换方法,将二进制数的每四位用一个十六进制数码来表示,整数部分以小数点为界点从右往左每四位一组转换,小数部分从小数点开始自左向右每四位一组进行转换。
(2)十六进制转换成二进制数
如将十六进制数转换成二进制数,只要将每一位十六进制数用四位相应的二进制数表示,即可完成转换。
例如:将(163.5B)16转换成二进制数,则
( 1 6 3 . 5 B )16
| | | | |
(0001 0110 0011. 0101 1011 )2
(163.5B)16=(101100011.01011011)2

我也是刚刚才看过,现在懂了,希望对你有帮助。上面的是我摘下来的。

其实很简单. 如果是XP的用户的话
直接打开开始. 附件 里的计算器
然后换成科学型的 裏面可以计算


二进制和十进制,八进制 各是什么意思,请举例说明!
数制也称计数制,是指用一组固定的符号和统一的规则来表示数值的方法。计算机是信息处理的工具,任何信息必须转换成二进制形式数据后才能由计算机进行处理,存储和传输。 十进制数人们通常使用的是十进制。它的特点有两个:有0,1,2….9十个基本数字组成,十进制数运算是按“逢十进一”的规则进行的.在...

2进制、8进制、10进制、十六进制分别是什么
二进制是B,八进制是O,十进制是,十六进制是H。进制也就是进制位,对于接触过电脑的人来说应该都不陌生,我们常用的进制包括:二进制、八进制、十进制与十六进制。进制转换是人们利用符号来计数的方法。进制转换由一组数码符号和两个基本因素“基数”与“位权”构成。名词介绍 进位制\/位置计数法是一...

进制有哪几种?
制有:十进制、二进制、四进制、七进制、八进制、十二进制、十六进制。基数就是一种进制中可使用数字符号的数目称为基数(en:radix)或底数。进制数中对应的基数分别为:十进制的基数为10、二进制的基数为2、四进制的基数为4、七进制的基数为7、八进制的基数为8、十二进制的基数为12、十六进制的基数...

二进制、八进制、十进制、十六进制分别用字母什么表示?
十六进制用字母H来表示,在c语言中用添加前缀0x以表示十六进制数。它由十六个数码:数字0~9加上字母A-F组成(它们分别表示十进制数10~15),十六进制数运算规律是逢十六进一,即基数R=16=2^4。例如:十六进制数4AC8可写成(4AC8)16,或写成4AC8H。

C语言中怎样区分八进制,十进制,二进制?
1.十进制:除表示正负的符号外,以1~9开头,由0~9组成。如,128,+234,-278。2,八进制:以0开头,由0~7组成的数。如,0126,050000.10进制数10转换为8进制的转换过程如下:10\/8 = 1 ...(余2)1\/8 = 0 ...(余1) (1\/8中的1是上次运算的商)所以10的8进制数为12 ...

二进制、十进制、八进制、十六进制 各代表的英文字母是什么
二进制是Binary,简写为B。八进制是Octal,简写为O。十进制为Decimal,简写为D。十六进制为Hexadecimal,简写为H。二进制数的特点:它由两个基本字符0,1组成,二进制数运算规律是逢二进一。为区别于其它进制数,二进制数的书写通常在数的右下方注上基数2,或加后面加B表示。1) 二进制数中只有两个...

二进制十进制八进制十六进制的对应表
二进制十进制八进制十六进制的对应表如下图所示 二进制数是逢2进位的进位制,0、1是基本算符;计算机运算基础采用二进制。电脑的基础是二进制。在早期设计的常用的进制主要是十进制(因为我们有十个手指,所以十进制是比较合理的选择,用手指可以表示十个数字,0的概念直到很久以后才出现,所以是1-10而...

什么是十进制和八进制?
十进制数是组成以10为基础的数字系统,有0,1,2,3, 4, 5, 6, 7, 8, 9十个基本数字组成。2、八进制 一种以8为基数的计数法,采用0,1,2,3,4,5,6,7八个数字,逢八进1。一些编程语言中常常以数字0开始表明该数字是八进制。八进制的数和二进制数可以按位对应(八进制一位对应二...

怎么区别十进制,二进制,八进制和十六进制?
1.十进制:除表示正负的符号外,以1~9开头,由0~9组成。如,128,+234,-278。2,八进制:以0开头,由0~7组成的数。如,0126,050000.3,十六进制:以0X或0x开头,由0~9,A~F或a~f 组成。如,0x12A,0x5a000.人类算数采用十进制,可能跟人类有十根手指有关。亚里士多德称人类普遍使用十...

二进制,八进制,十进制之间如何换算?
二进制用 B 表示,八进制用 O表示,十进制用D表示。例如10的二进制为10B,八进制为10O,10进制为10D。

东宝区19814237845: 2进制、8进制、10进制、16进制、之间的转换怎么算啊 -
箕昆全威:[答案] 十进制整数转换R进制(R可以是任何整数,比如3、5、7)整数,方法就是除R取余,十进制转八或十六进制方法类似转二进制,除以基数取余就行了,比如转八进制就除8,转十六进制就除16. 二进制和八进制、十六进制之间转换采用的是分组转换...

东宝区19814237845: 二进制 八进制 十进制 十六进制 之间的转换 最好多几个例子 -
箕昆全威:[答案] 二进制和十进制一样,每一位的含义,即是相应进制的幂例如:二进制数101010111001=2^11+0+2^9+0+2^7+0+2^5+2^4+2^3+0+0+2^0注:^ 表示乘方的意思,即2^3,表示2的3次方同样:对于十进制,67089=6*10^4+7*10^3+0+8*10^1...

东宝区19814237845: 十进制,二进制,八进制,十六进制之间互相转换的方法是什么?? -
箕昆全威: 这样说:1)十进制转(二、八、十六)进制:短除法不断除以(二、八、十六),直到最后的被除数小于(二、八、十六),然后倒序读出全部数字即可(十六进制:10~15分别用ABCDEF表示).2)(二、八、十六)进制转十进制:从左到...

东宝区19814237845: 二进制、八进制、十进制和十六进制的表示法二进制、八进制、十进制和十六进制除了用数字(如()2)表示外,还有什么表示方式?(记得好像是英文的) -
箕昆全威:[答案] 二进制用后缀B(Binary),如10101111B,八进制用后缀Q(原是字母O,Octal,避免与数字0混淆)如257Q,十进制用后缀D(Decimal也可以不用后缀)如175D或175,十六进制用后缀H(Hexadecimal),如AFH等.

东宝区19814237845: 二进制、八进制、十进制、十六进制之间如何换算
箕昆全威: 计算机中数的表示方法--二进制 1. 二进制数的运算 电子计算机一般采用二进制数.二进制数只有0和1两个基本数字,容易在电气元件中实现. 二进制数的运算公式: 0+0=0 0*0=0 0+1=1 0*1=0 1+0=1 1*0=0 1+1=10 1*1=1 2.十进制和二进制间...

东宝区19814237845: 怎么区别十进制,二进制,八进制和十六进制? -
箕昆全威: 在书本中:加B(Binary)表示 二进制,O(Octal)表示八进制,D(Decimal)或不加表示十进制,H(Hexadecimal)表示十六进制. 在C语言里:整数有三种表示形式:十进制,八进制,十六进制.1.十进制:除表示正负的符号外,以1~9开头,由0~9组...

东宝区19814237845: 二进制十进制八进制十六进制的对应表 -
箕昆全威: 二进制十进制八进制十六进制的对应表如下图所示 二进制数是逢2进位的进位制,0、1是基本算符;计算机运算基础采用二进制.电脑的基础是二进制.在早期设计的常用的进制主要是十进制(因为我们有十个手指,所以十进制是比较合理...

东宝区19814237845: 什么是二进制,八进制,十进制,十六进制?? -
箕昆全威: 二进制是到2进位:组成数字只有0、1八进制是到8进位:组成数字是0、1、2、3、4、5、6、7 十进制是到10进位:组成数字是0、1、2、3、4、5、6、7、8、9十六进制是到16进位组成数字是:0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F比如一个十进制数:17,用二进制表示就是10001,用八进制表示就是21,用十六进制表示就是11

东宝区19814237845: 带小数的二进制,八进制,十进制和十六进制数之间如何转化请举例,有统一的公式吗? -
箕昆全威:[答案] 二进制八进制和十六进制之间很容易转换,比如10111110(二进制)转换为八进制是将二进制从尾(右)开始每三位组成一个8进制位,头上不足补0上述的八进制为276(八进制),二进制转换为十六进制是从尾开始每4为组成一个16进制位,头上...

东宝区19814237845: 二进制,八进制,十进制,十六进制等各种进制有什么关系?怎样互化? -
箕昆全威: 十六进制数转换成十进制数 2进制,用两个阿拉伯数字:0、1; 8进制,用八个阿拉伯数字:0、1、2、3、4、5、6、7; 10进制,用十个阿拉伯数字:0到9; 16进制,用十六个阿拉伯数字……等等,阿拉伯人或说是印度人,只发明了10个数字啊? ...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网