进制换算专项练习

进制换算专项练习
进制换算专项练习

[12]. 采用补码表示法,整数"0"只有一种表示形式,该表示形式为____B____。

A) 1000...00 B) 0000 (00)

C) 1111...11 D) 0111 (11)

37.在一个字长为八位的计算机中,采用补码表示,符号位占一位,则 -128在计算机中表示为__B__。D

A. 11111111

B. 10000001

C. 01111111

D. 10000000

51. 二进制数10001010对应的十进制数是__C__。

A. 155

B. 154

C. 138

D. 139

4、已知【x】补=10011000,其真值为 D 。

A.-1100110 B -1100111

C. - 0011000

D. –1101000

已知X的补码为10011000,则它的原码是___D___

A. 01101000

B. 01100111

C. 10011000

D. 11101000

53.设某PC机使用32位地址线,则最大内存容量可达__A_。

A.4GB B. 256MB C.8GB D.16MB

1. 采用某种进位制时,如果4*5=14,那么,7*3 =____A____。

A.15

B.21

C.20

D.19

21、根据两个一位二进制的加法运算规则,其和为1的正确表述为( C )

A、这两个二进制数都为1

B、这两个二进制数都为0

C、这两个二进制数不相等

D、这两个二进制数相等

22、根据两个一位二进制数的加法运算规则,其进位为1的正确表述为(A )

A、这两个二进制数都为1

B、这两个二进制数中只有一个1

C、这两个二进制数中没有1

D、这两个二进制数不相等

31、十进制数“—43”用时位二进制补码表示为(B )

A、10101011

B、11010101

C、11010100

D、01010101

12、下列有关“权值”表述正确的是( B )A

A、权值是指某一数字符号在数的不同位置所表示的值的大小

B、二进制的权值是“二”,十进制的权制是“十”

C、权值就是一个数的数值

D、只有正数才有权值

13、下列有关“基数”表述正确的是(A )B

A、基数是指某一数字符号在数的不同位置所表示的值的大小

B、二进制的基数是“二”,十进制的基数是“十”

C、基数就是一个数的数值

D、只有正数才有基数

3、二进制数10100101和11101101

A.105和EB B 95和ED

C. 125和EB

D. A5和ED

12、下列有关“权值”表述正确的是( A )

A、权值是指某一数字符号在数的不同位置所表示的值的大小

B、二进制的权值是“二”,十进制的权制是“十”

C、权值就是一个数的数值

D、只有正数才有权值

13、下列有关“基数”表述正确的是(A )B

A、基数是指某一数字符号在数的不同位置所表示的值的大小

B、二进制的基数是“二”,十进制的基数是“十”

C、基数就是一个数的数值

D、只有正数才有基数

14、十进制数“13”,用三进制表示为( B )C

A、101

B、110

C、111

D、112

15、下列各数都是五进制数,其中(B )对应的十进数是偶数。

A、111

B、101

C、131

D、100

16、一个某进制的数“1A1”,其对应十进制数的值为300,则该数为( C)

A、十一进制

B、十二进制

C、十三进制

D、十四进制

17、做无符号二进制加法:(11001010)

2+(00001001)

2

=(C )

A、110010011

B、11010101

C、11010011

D、11001101

18、做无符号二进制减法:(11001010)

2—(00001001)

2

=(B )

A、11001001

B、11000001

C、11001011

D、11000011

19、做下列逻辑加法:11001010V00001001=(D )

A、00001000

B、11000001

C、00001001

D、11001011

20、做下列逻辑乘法:11001010^00001001=( A )

A、00001000

B、11000001

C、00001001

D、11001011

23、用八进制表示一个字节的无符号整数,最多需要( D )C

A、1位

B、2位

C、3位

D、4位

24、用十六进制表示一个字节的无符号整数,最多需要(C )D

A、1位

B、2位

C、3位

D、4位

25、用八进制表示32位二进制地址,最多需要( C )24、用十六进制表示一个字节的无符号整数,最多需要(C )D

A、9位

B、10位

C、11位

D、12位

26、用十六进制表示32位二进制地址,最多需要(D )

A、5位

B、6位

C、7位

D、8位

27、下列数中,最大的数是(D )

A、(00101011)

2 B、(052)

8

C、(44)

10

D、(2A)

16

28、下列数中,最小的数是( A )C

A、(213)

4 B、(132)

5

C、(123)

6

D、(101)

7

29、下列关于“1KB”准确的含义是( D )

A、1000个二进制位

B、1000个字节

C、1024个二进制位

D、1024个字节

30、下列关于“1kb/s准确的含义是(A )

A、1000b/s

B、1000字节/s

C、1024/s

D、1024个字节/s

31、十进制数“—43”用时位二进制补码表示为(A )B

A、10101011

B、11010101

C、11010100

D、01010101

各种进制之间转换方法

各进制转换方法(转载) 一、计算机中数的表示: 首先,要搞清楚下面3个概念 ?数码:表示数的符号 ?基:数码的个数 ?权:每一位所具有的值 请看例子: 数制十进制二进制八进制十六进制 数码0~9 0~1 0~7 0~15 基10 2 8 16 权10o,101,102,…2o,21,22,…8o,81,82,…16o,161,162,…特点逢十进一逢二进一逢八进一逢十六进一 十进制4956= 4*103+9*102 +5*101+6*10o 二进制1011=1*23+0*22 +1*21+1*2o 八进制4275=4*83+2*82 +7*81+5*8o 十六进制81AE=8*163+1*162 +10*161+14*16o

二、各种进制的转换问题 1.二、八、十六进制转换成十进制 2.十进制转换成二、八、十六进制 3.二进制、八进制的互相转换 4.二进制、十六进制的互相转换 1、二、八、十六进制转换成十进制 方法:数码乘以相应权之和 2、十进制转换成二、八、十六进制 方法:连续除以基,直至商为0,从低到高记录余数

3、二进制、八进制的互相转换 方法: ?二进制转换成八进制:从右向左,每3位一组(不足3位左补0),转换成八进制 ?八进制转换成二进制:用3位二进制数代替每一位八进制数 例(1101001)2=(001,101,001)2=(151)8 例 (246)8=(010,100,110)2=(10100110)2 4、二进制、十六进制的互相转换 方法: ?二进制转换成十六进制:从右向左,每4位一组(不足4位左补0),转换成十六进制 ?十六进制转换成二进制:用4位二进制数代替每一位十六进制数 例(11010101111101)2=(0011,0101,0111,1101)2=(357D)16 例 (4B9E)16=(0100,1011,1001,1110)2=(100101110011110)2 三、各种进制数的运算

十进制数与十六进制数的转换方法

一,十进制转换十六进制 若十进制数23785转为十六进制,则用 23785/16=1486余9, 1486/16=92余……14, 92/16=5余………….12, 5/16=0余……………..5,十六进制中,10对应为a、11对应为b、。。。。。。、15对应为f,再将余数倒写为5ce9,则十进制23785=十六进制5ce9 二,十六进制转换十进制 十六进制数的第0位的权值为16的0次方,第1位的权值为16的1次方,第2位的权值为16的2次方…… 所以,在第N(N从0开始)位上,如果是是数X (X 大于等于0,并且X小于等于15,即:F)表示的大小为X * 16的N次方。 假设有一个十六进数2AF5, 那么如何换算成10进制呢? 用竖式计算:2AF5换算成10进制: 第0位:5 * 16^0 = 5 第1位:F * 16^1 = 240 第2位:A * 16^2 = 2560 第3位:2 * 16^3 = 8192 直接计算就是: 5 * 16^0 + F * 16^1 + A * 16^2 + 2 * 16^3 = 10997 三,二进制的1101转化成十进制 1101(2)=1*2^0+0*2^1+1*2^2+1*2^3=1+0+4+8=13 转化成十进制要从右到左用二进制的每个数去乘以2的相应次方不过次方要从0开始 十进制转二进制:用2辗转相除至结果为1 将余数和最后的1从下向上倒序写就是结果例如302 302/2 = 151 余0 151/2 = 75 余1 75/2 = 37 余1 37/2 = 18 余1 18/2 = 9 余0 9/2 = 4 余1 4/2 = 2 余0 2/2 = 1 余0 1/2 = 0 余1 故二进制为100101110 四,二进制转八进制 在把二进制数转换为八进制表示形式时,对每三位二进制位进行分组,应该从小数点所在位置分别向左向右划分,若整数部分倍数不是3的倍数,可以在最高位前面补若干个0;对小数部分,当其位数不是的倍数时,在最低位后补若干个0.然后从左到右把每组的八进制码依次写出,即得转换结果. 你算一下就知道了啊比如110=2^2+2+0=6 五,二进制转十六进制 要将二进制转为16进制,只需将二进制的位数由右向左每四位一个单位分隔,分的不够的前边补零,用四位数的二进制数来代表一个16进制。转换表如下,括号内为十六进制 0000(0)0001(1)0010(2)0011(3)0100(4)0101(5) 0110(6)0111(7)1000(8)1001(9)1010(A)1011(B) 1100(C)1101(D)1110(E)1111(F) 例如:10101011划分为1010 1011,根据转换表十六进制为AB

二进制八进制十六进制之间的转换详解

二进制转十进制,十进制转二进制的算法 十 表1二进制数和十进制数换算对照表 二进制十进制二进制十进制二进制十进制二进制十进制 00000001130110610019 000110100401117101010 001020101510008101111 采用“二进制数”的算术运算也比较简单,制造成本更经济。二进制的加法运算和乘法运算公式都各有四条规则:加法有0+0=0, 0+1=1,1+0=1,1+1=10;乘法有0*0=0,0*1=0, 1*0=0, 1*1=1,而十进制的加法和乘法运算公式从0+0开始到9+9,从0*0开始到9*9各需规则100条。 2.二进制代码 电子计算机中的数是用二进制表示的,在计算机中也采用二进制代码表示字母、数字字符、各种各样的符号、汉字等。在处理信息的过程中,可将若干位的二进制代码组合起来表示各种各样的信息。但由于二进制数不直观,人们在计算机上实际操作时,输入、输出的数使用十进制,而具体转换成二进制编码的工作则由计算机软件系统自动完成。 字母和各种字符在计算机中的传输普遍采用Ascll码

(American Standard Code For lnformation lnterchange),即美国标准信息交换码,它用了7位二进制数来表达字母和各种常用字符(见附录)。 对于汉字信息的表示比较复杂,我国有汉字几万个,常用的汉字也有7000多个,为了统一,我国制定了汉字编码标准,规定了一、二级汉字共6763个,用两个字节(16位二进制代码)来表示一个汉字进制转二进制: 用2辗转相除至结果为1 将余数和最后的1从下向上倒序写就是结果 例如302 302/2 = 151 余0 151/2 = 75 余1 75/2 = 37 余1 37/2 = 18 余1 18/2 = 9 余0 9/2 = 4 余1 4/2 = 2 余0 2/2 = 1 余0 故二进制为100101110 二进制转十进制 从最后一位开始算,依次列为第0、1、2...位 第n位的数(0或1)乘以2的n次方 得到的结果相加就是答案 例如:01101011.转十进制: 第0位:1乘2的0次方=1 1乘2的1次方=2 0乘2的2次方=0 1乘2的3次方=8 0乘2的4次方=0 1乘2的5次方=32 1乘2的6次方=64 0乘2的7次方=0 然后:1+2+0 +8+0+32+64+0=107. 二进制01101011=十进制107.

各种进制之间转换方法

各进制转换方法(转载)一、计算机中数的表示: 首先,要搞清楚下面3个概念 ?数码:表示数的符号 ? 基:数码的个数 ?权:每一位所具有的值

、各种进制的转换问题 1. 二、八、十六进制转换成十进制 2. 十进制转换成二、八、十六进制 3. 二进制、八进制的互相转换 4. 二进制、十六进制的互相转换 1、二、八、十六进制转换成十进制 方法:数码乘以相应权之和 例(HloJ-l/25+lx24+l/23+0/22+ h2:+h20 -(59)10 例(136)8=lx82+3x8l+6x8°=(94)10 例(1F2^)1S=1X163+15X16S +2\16] + 10/16° = (7978)10 2、十进制转换成二、八、十六进制 方法:连续除以基,直至商为0,从低到高记录余数

例把十进制数159转换成八进制数 8| 19 8辽 (159)IO =(237)8 例把十进制数59转换成二进制数 (59)IO =(111O11)2 2 余余余余余余 8 159

例把十进制数459转换成十六进制数 u | 1| C| B (459)io=(1CB)ib ' 3、二进制、八进制的互相转换 方法: *二进制转换成八进制:从右向左,每3位一组(不足3位左补0),转换成八进制*八进制转换成二进制:用3位二进制数代替每一位八进制数 例(1101001)2=(001,101,001)2=(151)8 例(246)8=(010,100,110)2=(10100110)2 4、二进制、十六进制的互相转换 方法: 二进制转换成十六进制:从右向左,每4位一组(不足4位左补0),转换成十六进制 *十六进制转换成二进制:用4位二进制数代替每一位十六进制数 例(11010101111101)2=(0011,0101,0111,1101)2=(357D)16 例(4B9E)16=(0100,1011,1001,1110)2=(100101110011110)2 三、各种进制数的运算 方法:逢满进具体计算与平时十进制的计算类似,以十六进制为例: 加法:

计算机各种进制转换练习题(附答案)

进制转换练习题 1.十进制数1000对应二进制数为______,对应十六进制数为______。 供选择的答案 A:① 1111101010 ② 1111101000 ③ 1111101100 ④ 1111101110 B:① 3C8 ② 3D8 ③ 3E8 ④ 3F8 2.十进制小数为0.96875对应的二进制数为______,对应的十六进制数为______。 供选择的答案 A:① 0.11111 ② 0.111101 ③ 0.111111 ④ 0.1111111 B:① 0.FC ② 0.F8 ③ 0.F2 ④ 0.F1 3.二进制的1000001相当十进制的______。 ① 62 ② 63 ③ 64 ④ 65 4.十进制的100相当于二进制______,十六进制______。 供选择的答案 A:① 1000000 ② 1100000 ③ 1100100 ④ 1101000 B:①100H ②AOH ③ 64H ④10H 5.八进制的100化为十进制为______,十六进制的100化为十进制为______。 供选择的答案 A:① 80 ② 72 ③ 64 ④ 56 B:① 160 ② 180 ③ 230 ④ 256 6.十六进制数FFF.CH相当十进制数______。 ① 4096.3 ② 4096.25 ③ 4096.75 ④ 4095.75 7.2005年可以表示为______ 年。 ① 7C5H ② 6C5H ③ 7D5H ④ 5D5H 8.二进制数10000.00001将其转换成八进制数为______;将其转换成十六进制数为______。 供选择的答案 A:① 20.02 ② 02.01 ③ 01.01 ④ 02.02 B:① 10.10 ② 01.01 ③ 01.04 ④ 10.08 9.对于不同数制之间关系的描述,正确的描述为______。 供选择的答案 A:①任意的二进制有限小数,必定也是十进制有限小数。 ②任意的八进制有限小数,未必也是二进制有限小数。 ③任意的十六进制有限小数,不一定是十进制有限小数。 ④任意的十进制有限小数,必然也是八进制有限小数。 10.二进制整数1111111111转换为十进制数为______,二进制小数0.111111转换成十进制数为______。

二进制,八进制十进制十六进制之间数据转换

二进制,八进制十进制十六进制之间数据转换 十进制转二进制(整数及小数部分): 1、把该十进制数,用二因式分解,取余。 以235为例,转为二进制 235除以2得117,余1 117除以2得58,余1 58除以2得29,余0 29除以2得14,余1 14除以2得7,余0 7除以2得3,余1 3除以2得1,余1 从得到的1开始写起,余数倒排,加在它后面,就可得11101011。 2、把十进制中的小数部份,转为二进制。 把该小数不断乘2,取整,直至没有小数为止,注意不是所有小数都能转为二进制! 以0.75为例, 0.75剩以2得1.50,取整数1 0.50剩以2得1,取整数1,顺序取数就可得0.11。 1、二进制数、八进制数、十六进制数转十进制数 有一个公式:二进制数、八进制数、十六进制数的各位数字分别乖以各自的基数的(N-1)次方,其和相加之和便是相应的十进制数。个位,N=1;十位,N=2...举例:110B=1*2的2次方+1*2的1次方+0*2的0次方=0+4+2+0=6D 110Q=1*8的2次方+1*8的1次方+0*8的0次方=64+8+0=72D 110H=1*16的2次方+1*16的1次方+0*16的0次方=256+16+0=272D 2、十进制数转二进制数、八进制数、十六进制数 方法是相同的,即整数部分用除基取余的算法,小数部分用乘基取整的方法,然后将整数与小数部分拼接成一个数作为转换的最后结果。 例:见四级指导16页。 3、二进制数转换成其它数据类型

3-1二进制转八进制: 从小数点位置开始,整数部分向左,小数部分向右,每三位二进制为一组用一位八进制的数字来表示,不足三位的用0补足, 就是一个相应八进制数的表示。 010110.001100B=26.14Q 八进制转二进制反之则可。 3-2二进制转十进制: 见1 3-3二进制转十六进制: 从小数点位置开始,整数部分向左,小数部分向右,每四位二进制为一组用一位十六进制的数字来表示, 不足四位的用0补足,就是一个相应十六进制数的表示。 00100110.00010100B=26.14H 十进制转各进制 要将十进制转为各进制的方式,只需除以各进制的权值,取得其余数,第一次的余数当个位数,第二次余数当十位数,其余依此类推,直到被除数小于权值,最后的被除数当最高位数。 一、十进制转二进制 如:55转为二进制 2|55 27――1个位 13――1第二位 6――1第三位 3――0第四位 1――1第五位 最后被除数1为第七位,即得110111 二、十进制转八进制

计算机进制转换

二进制、八进制、十进制、十六进制之间转换二进制、八进制、十进制、十六进制之间转换 一、十进制与二进制之间的转换 (1)十进制转换为二进制,分为整数部分和小数部分 ①整数部分 方法:除2取余法,即每次将整数部分除以2,余数为该位权上的数,而商继续除以2,余数又为上一个位权上的数,这个步骤一直持续下去,直到商为0为止,最后读数时候,从最后一个余数读起,一直到最前面的一个余数。下面举例: 例:将十进制的168转换为二进制 得出结果将十进制的168转换为二进制,(10101000)2 分析:第一步,将168除以2,商84,余数为0。 第二步,将商84除以2,商42余数为0。 第三步,将商42除以2,商21余数为0。 第四步,将商21除以2,商10余数为1。 第五步,将商10除以2,商5余数为0。 第六步,将商5除以2,商2余数为1。 第七步,将商2除以2,商1余数为0。 第八步,将商1除以2,商0余数为1。 第九步,读数,因为最后一位是经过多次除以2才得到的,因此它是最高位,读数字从最后的余数向前读,即10101000 (2)小数部分 方法:乘2取整法,即将小数部分乘以2,然后取整数部分,剩下的小数部分继续乘以2,然后取整数部分,剩下的小数部分又乘以2,一直取到小数部分 为零为止。如果永远不能为零,就同十进制数的四舍五入一样,按照要求保留多少位小数时,就根据后面一位是0还是1,取舍,如果是零,舍掉,如果是1,向入一位。换句话说就是0舍1入。读数要从前面的整数读到后面的整数,下面举例: 例1:将0.125换算为二进制 得出结果:将0.125换算为二进制(0.001)2 分析:第一步,将0.125乘以2,得0.25,则整数部分为0,小数部分为0.25; 第二步, 将小数部分0.25乘以2,得0.5,则整数部分为0,小数部分为0.5; 第三步, 将小数部分0.5乘以2,得1.0,则整数部分为1,小数部分为0.0; 第四步,读数,从第一位读起,读到最后一位,即为0.001。 例2,将0.45转换为二进制(保留到小数点第四位)

进制换练习题及答案

进制转换练习题及答案39 进制转换练习题;姓名成绩;1.完成下列进制转换;()B=() D=() H; (6DF7)16=()2(143)10=()2 (; (110111)2=()10(0 ; (32) 10=() 16;( 1AD H =()B=() D;每题5分;2、在计算机内部,信息的存储和处理都采用二进制, A.便于存储B数据输入方便;C?可以增大计算机存储容量 D. 进制转换练习题 姓名成绩 1.完成下列进制转换 ()B=( ) D=( ) H (6DF7)16=( )2 (143)10=( )2 (82) 10 = ( ) 2 (110111)2= ( )10 ()2 =( )16 (32) 10 = ( ) 16 (1AD H = ( ) B = ( ) D 每题5分 2、在计算机内部,信息的存储和处理都采用二进制,最主要的原因是( A.便于存储B数据输入方便 C?可以增大计算机存储容量 D .易于用电子元件实现

10011B B 11110B C 10001B D 11101B 10.二进制数 1001 转换成十进制数是( ) A . 8 B 9 C 10 D 11 11 .在海上,早期没有无线电通讯设备,人们通常使用 3 面由红,黄,蓝三 种3.“半斤八两”指古时候用的是十六进制,一斤是十六两,半斤等于八两, 如果是不熟悉十,十六进制之间的转换时,可以借助的工具软件是( (A )画图(B )记事本(C )录音机 (D )计算器 4.(2004)10 + (32)16 的结果是( ) A. (2036)10 B. (2054)16 C. (4006)10 D. ()2 E. (2036)16 5. 算式( 31) 10-( 10001) 2 的运算结果是( ) A . 1101) 2 B ( 15) 10 C ( 1111) 2 D ( E) 16 6. 汉字“人”的内码是 1100 1011 ,那么它的十六进制编码是( ) A . B8 C B B B8 BA C D8 DC D C8 CB 7. 08年 10月高考题)二进制数 1011与十进制数 2相乘的值是( ) A . (10110)2 B .(11010)2 C (11100)2 D .(11111)2 8. 下列数中最大的是( ) A . 1111 B B 111D C 1101 D D 0AH 9. 十进制数 17 的二进制表示为( ) A .

完整版二进制八进制十进制十六进制之间转换详解

二进制、八进制、十进制、十六进制之间转换 一、十进制与二进制之间的转换 (1) 十进制转换为二进制,分为整数部分和小数部分 ①整数部分 方法:除2取余法,即每次将整数部分除以2,余数为该位权上的数, 而商继续除以2,余数又为上一个位权上的数,这个步骤一直持续下去,直到商为0为止,最后读数时候,从最后一个余数读起,一直到最前面的一个余数。下面举例: 例:将十进制的168转换为二进制 得出结果将十进制的168转换为二进制,(10101000) 2 分析:第一步,将168除以2,商84,余数为0。第二步,将商84除以2,商42余数为0。 第三步,将商42除以2,商21余数为0。 第四步,将商21除以2,商10余数为1。 第五步,将商10除以2,商5余数为0。 第六步,将商5除以2,商2余数为1。 第七步,将商2除以2,商1余数为0o 第八步,将商1除以2,商0余数为1。 第九步,读数,因为最后一位是经过多次除以2才得到的,因此它是

最高位,读数字从最后的余数向前读,即10101000

(2)小数部分 方法:乘2取整法,即将小数部分乘以2,然后取整数部分,剩下的 小数部分继续乘以2,然后取整数部分,剩下的小数部分又乘以2, 一直取到小数部分 为零为止。如果永远不能为零,就同十进制数的四舍五入一样,按照要求 保留多少位小数时,就根据后面一位是0还是1,取舍,如果是零,舍掉, 如果是1,向入一位。换句话说就是0舍1入。读数要从前 面的整数读到后面的整数,下面举例:例1:将0.125换算为二进制 得出结果:将0.125换算为二进制(0.001 ) 2 分析:第一步,将0.125乘以2,得0.25,则整数部分为0,小数部分 为0.25; 第二步,将小数部分0.25乘以2,得0.5,则整数部分为0,小数部分 为0.5; 第三步,将小数部分0.5乘以2,得1.0,则整数部分为1,小数部分为 0.0; 第四步3读数,从第一位读起,读到最后一位3即为0.001。 例2,将0.45转换为二进制(保留到小数点第四位)

什么是进制以及进制的转换

1、什么是进制 十进制就是逢十进一:0~9 二进制就是逢二进一:0~1 十六进制。。。:0~9、A~F(可以理解成10~15) 生活中用到进制的例子: 一周七天:七进制 一年十二个月:十二进制 一小时六十分钟:六十进制 电脑中的数据: 二进制 进制的转换 八进制转十进制:八进制0235转为十进制157十六进制转十进制也差不多 83 8281 80 ↓↓↓↓ 0 2 3 5 0+2×64+3×8+5×1 157 十进制转八进制:十进制27转为八进制33 十进制转六十进制也差不多 8|27 3 8|4 3 反正记住一般,低进制转高进制,就乘加,高进制转低进制,就取余, 除十六进制,我们经常用的就是这四种进制 二进制到十六进制转换 方法:从右向左,四位一段,分别转化,不够四位的补零 意思就是一位十六进制用四位二进制数表示,如果不够四位,前面用零补齐 比如116 = 00012十六进制的1和二进制1 表示形式就是1,不过一般用前面的那种方法表示便于运算 例:01011102→(0010,1110) 左补一个零,便于运算 (2 ,E )16 十六进制转二进制 D2C16= (13 ,2 ,12)16 (1101,0010,1100) = 1101001011002中间那段四位二进制数前面补的两个0不能掉而八进制就是三位一段,类似上方,不过就是三位一段 例: 01011102= (000,101,110) 第一段三位二进制数左补两个零 (0, 5, 6) 0568 321= (3,2,1) (011,010,001) 110100012 不存在十六进制与八进制的直接相互转化,都是以二进制or 十进制等为中间进制来进行转换的 如:D2C16= 1101001011002= 64548 二进制与十进制的相互转化,不需要让二进制以多位为一段,只需要一位一位的算就好 其他进制也一样

数据结构 栈十进制转八进制的算法详解(已测试过)

实验目的 建立栈实现十进制转八进制 实验内容 编程序并上机调试运行。 建立栈实现十进制转八进制 1.编写程序 //十进制转八进制 #include #include #include #define STACK_INIT_SIZE 100 #define STACKINCREMENT 10 typedef struct { int *base; int *top; int stacksize; }sqstack; int initstack (sqstack *s) {s->base=(int *)malloc(STACK_INIT_SIZE * sizeof(int)); if(!s->base) exit(0); s->top=s->base; s->stacksize =STACK_INIT_SIZE ; return 0; }//构造一个空栈s int push(sqstack *s,int e) { if((s->top-s->base)>=s->stacksize){ s->base=(int*)realloc(s->base,(s->stacksize + STACKINCREMENT )*sizeof(int)); if(!(s->base)) exit(1);

s->top=s->base+s->stacksize; s->stacksize+=STACKINCREMENT; } *s->top++=e; return 0; }//插入新的元素e为新的栈顶元素 int stackempty (sqstack *s) {if(s->top==s->base) return 1; else return 0; }//若栈s为空栈,则返回1,否则返回0 int pop (sqstack *s,int *e) {if(s->top==s->base) return 1; *e=*--s->top; return 0; }//若栈不为空,则删除s的栈顶元素,用e返回其值,返回OK,否则返回ERROR void conversion (int n) { sqstack s; int e; initstack(&s); printf("请输入一个十进制数:\n"); scanf("%d",&n); while (n){ push(&s,n%8); n=n/8; } printf("\n"); printf("该数的八进制数为:\n"); while(!stackempty(&s)){ pop(&s,&e); printf("%d",e); }

进制之间的转换

--进制之间的转换-- 介绍:进制也就是进位计数制,是人为定义的带进位的计数方法(有不带进位的计数方法,比如原始的结绳计数法,唱票时常用的“正”字计数法,以及类似的tally mark计数)。对于任何一种进制---X进制,就表示每一位置上的数运算时都是逢X进一位。十进制是逢十进一,十六进制是逢十六进一,二进制就是逢二进一,以此类推,x进制就是逢x进位。 --常见的几种进制 二进制(B)十进制(D)十六进制(H)八进制(O) 1.二进制 二进制有两个特点:它由两个数码0、1组成,二进制的规律是逢二进一。 -转换。 a.将二进制转换为十进制。 例子:将二进制数10111.1011转换为十进制 解析: 小数点前 1 0 1 1 ------ 转换为十进制 1×23 0×22 1×21 1×20 ------ 8+0+2+1=11 小数点后1 0 1 1 ------ 转换为十进制 1×2-1 0×2-21×2-31×2-4 ---- 0.5+0+0.125+0.0625=0.6875 则,二进制1011.1011转换为十进制数为 11+0.6875=11.6875. (1011.1011) B =(11.6875) D b.将二进制转换为八进制。 例子:将二进制数10111.1011转换为八进制 解析: (由小数点开始,向两边每3个分为一组) 001 011 .101 100 (按照二进制转十进制的算法,算出每三个所对应的十进制数) 1 3 . 5 4 则,(1011.1011) B =(13.54) O c.将二进制转换为十六进制。 例子:将二进制数10111.1011转换为八进制解析:

各种进制之间的转换方法

各种进制之间的转换方法 ⑴二进制B转换成八进制Q:以小数点为分界线,整数部分从低位到高位,小数部分从高位到低位,每3位二进制数为一组,不足3位的,小数部分在低位补0,整数部分在高位补0,然后用1位八进制的数字来表示,采用八进制数书写的二进制数,位数减少到原来的1/3。 例:◆二进制数转换成八进制数: = 110 110 . 101 100B ↓↓ ↓ ↓ 6 6 . 5 4 = ◆八进制数转换成二进制数: 3 6 . 2 4Q ↓ ↓ ↓ ↓ 011 110 . 010 100 = ◆ 低位,每4位二进制数为一组,不足4位的,小数部分在低位补0,整数部分在高位补0,然后用1位十六进制的数字来表示,采用十六进制数书写的二进制数,位数可以减少到原来的1/4。 例:◆二进制数转换成十六进制数: .100111B = 1011 0101 1010 . 1001 1100B ↓ ↓ ↓ ↓ ↓ B 5 A . 9 C = 5A ◆十六进制数转换成二进制数: = A B . F EH ↓ ↓ ↓ ↓ 1010 1011. 1111 1110 = .1111111B 先把八进制数Q转换成二进制数B,再转换成十六进制数H。 例:◆八进制数转换成十六进制数: = 111 100 000 010 . 100 101B = .100101B = 1111 0000 0010 . 1001 0100B = F 0 2 . 9 4H = ◆十六进制数转换成八进制数: = 0001 1011 . 1110B = = 011 011 . 111B = 3 3 . 7Q = ⑷二进制数B转换成十进制数D:利用二进制数B按权展开成多项式和的表达式,取基数为2,逐项相加,其和就是相应的十进制数。

进制转换10进制2进制8进制16进制c#

C# 16进制转换10进制相关函数详解 //十进制转二进制 Console.WriteLine(Convert.ToString(69, 2)); //十进制转八进制 Console.WriteLine(Convert.ToString(69, 8)); //十进制转十六进制 Console.WriteLine(Convert.ToString(69, 16)); //二进制转十进制 Console.WriteLine(Convert.ToInt32(”100111101″, 2)); //八进制转十进制 Console.WriteLine(Convert.ToInt32(”76″, 8)); //C# 16进制转换10进制 Console.WriteLine(Convert.ToInt32(”FF”, 16)); 在C#中可以对整型运算对象按位进行逻辑运算。按位进行逻辑运算的意义是:依次取被运算对象的每个位,进行逻辑运算,每个位的逻辑运算结果是结果值的每个位。 C#支持的位逻辑运算符如表2所示。 运算符号意义运算对象类型运算结果类型对象数实例 ~ 位逻辑非运算整型,字符型整型 1 ~a & 位逻辑与运算 2 a & b | 位逻辑或运算 2 a | b ^ 位逻辑异或运算 2 a ^ b << 位左移运算 2 a<<4 >> 位右移运算 2 a>>2 1、位逻辑非运算 位逻辑非运算是单目的,只有一个运算对象。位逻辑非运算按位对运算对象的值

进行非运算,即:如果某一位等于0,就将其转变为1;如果某一位等于1,就将其转变为0。 比如,对二进制的10010001进行位逻辑非运算,结果等于01101110,用十进制表示就是:~145等于110;对二进制的01010101进行位逻辑非运算,结果等于10101010。用十进制表示就是~85等于176。 2、位逻辑与运算 位逻辑与运算将两个运算对象按位进行与运算。与运算的规则:1与1等于1,1与0等于0。 比如:10010001(二进制)&11110000等于10010000(二进制)。 3、位逻辑或运算 位逻辑或运算将两个运算对象按位进行或运算。或运算的规则是:1或1等1,1或0等于1, 0或0等于0。比如10010001(二进制)| 11110000(二进制)等于11110001(二进制)。 4、位逻辑异或运算 位逻辑异或运算将两个运算对象按位进行异或运算。异或运算的规则是:1异或1等于0, 1异或0等于1,0异或0等于0。即:相同得0,相异得1。 比如:10010001(二进制)^11110000(二进制)等于01100001(二进制)。 5、位左移运算 位左移运算将整个数按位左移若干位,左移后空出的部分0。比如:8位的byte 型变量 byte a=0x65(即二进制的01100101),将其左移3位:a<<3的结果是0x27(即二进制的00101000)。 6、位右移运算 位右移运算将整个数按位右移若干位,右移后空出的部分填0。比如:8位的byte 型变量 Byte a=0x65(既(二进制的01100101))将其右移3位:a>>3的结果是0x0c(二进制00001100)。 在进行位与、或、异或运算时,如果两个运算对象的类型一致,则运算结果的类型就是运算对象的类型。比如对两个int变量a和b做与运算,运算结果的类型还是int型。如果两个运算对象的类型不一致,则C#要对不一致的类型进行类型转换,变成一致的类型,然后进行运算。 C# 16进制转换10进制类型转换的规则同算术运算中整型量的转换则一致。 由位运算符连接整型量而成的表达式就是位运算表达式。 C# 16进制转换10进制就介绍到这里。

进制转换练习题_四川专升本

进制练习题 1、十进制数1000对应二进制数为______,对应十六进制数为______。 供选择的答案 A:① 10 ② 00 ③ 00 ④ 10 B:① 3C8 ② 3D8 ③ 3E8 ④ 3F8 2、十进制小数为对应的二进制数为______,对应的十六进制数为______。 供选择的答案 A:①②③④ B:①②③④ 3、二进制的1000001相当十进制的______,二进制的可以表示为______。 供选择的答案 A:① 62 ② 63 ③ 64 ④ 65 B:① 23+2–3② 22+2–2③ 23+2–2④ 22+2–3 4、十进制的100相当于二进制______,十进制的相当二进制的______。 供选择的答案 A:① 1000000 ② 1100000 ③ 1100100 ④ 1101000 B:① 2–1+2–2+2–4+2–5② 1–(2–3+2–4) ③ 1+(–2–3–2–4) ④ 1–2–3–2–4–2–6 5、八进制的100化为十进制为______,十六进制的100化为十进制为______。 供选择的答案 A:① 80 ② 72 ③ 64 ④ 56 B:① 160 ② 180 ③ 230 ④ 256 7、十六进制数相当十进制数______。 供选择的答案 A:①②③④ 8、 2005年可以表示为______ 年;而37308年是指______ 年。 供选择的答案 A:① 7C5H② 6C5H③ 7D5H④ 5D5H B:① 200010② 200210③ 200610④ 200810 9、二进制数可以表示为______;将其转换成八进制数为______;将其转换成十六进

进制转换及原码反码补码练习题

进制转换练习题 【例题1-1】十进制数1000对应二进制数为______,对应十六进制数为______。 供选择的答案 A:① 10 ② 00 ③ 00 ④ 10 B:① 3C8 ② 3D8 ③ 3E8 ④ 3F8 【例题1-2】十进制小数为对应的二进制数为______,对应的十六进制数为______。 供选择的答案 A:①②③④ B:①②③④ 【例题1-3】二进制的1000001相当十进制的______,二进制的可以表示为______。 供选择的答案 A:① 62 ② 63 ③ 64 ④ 65 B:① 23+2–3② 22+2–2③ 23+2–2④ 22+2–3 【例题1-4】十进制的100相当于二进制______,十进制的相当二进制的______。 供选择的答案 A:① 1000000 ② 1100000 ③ 1100100 ④1101000 B:① 2–1+2–2+2–4+2–5② 1–(2–3+2–4) ③ 1+(–2–3–2–4) ④ 1–2–3–2–4–2–6 【例题1-5】八进制的100化为十进制为______,十六进制的100化为十进制为______。 供选择的答案 A:① 80 ② 72 ③ 64 ④ 56 B:① 160 ② 180 ③ 230 ④ 256 【例题1-6】在答案群所给出的关系式中正确的为______,在给出的等式中不正确的为______。 供选择的答案

③ > ④ < B:① = ② = ③ = ④ = 【例题1-7】十六进制数相当十进制数______。 供选择的答案 A:①②③④ 【例题1-8】 2005年可以表示为______ 年;而37308年是指______ 年。 供选择的答案 A:① 7C5H② 6C5H③ 7D5H④ 5D5H B:① 200010② 200210③ 200610④ 200810 【例题1-10】二进制数可以表示为______;将其转换成八进制数为______;将其转换成十六进制数为______。 供选择的答案 A:① 25+2–5② 24+2–4③ 25+2–4 ④ 24+2–5 B:①②③④ C:①②③④ 【例题1-11】对于不同数制之间关系的描述,正确的描述为______。 供选择的答案 A:①任意的二进制有限小数,必定也是十进制有限小数。 ②任意的八进制有限小数,未必也是二进制有限小数。 ③任意的十六进制有限小数,不一定是十进制有限小数。 ④任意的十进制有限小数,必然也是八进制有限小数。 【例题1-12】二进制整数11转换为十进制数为______,二进制小数转换成十进制数为______。 供选择的答案 A:① 1021 ② 1023 ③ 1024 ④ 1027

进制转换练习题及答案

进制转换练习题 姓名成绩 1.完成下列进制转换 (11110111)B=()D=()H (6DF7)16=( )2 (143)10=( )2 (82)10 =()2 (110111)2= ( )10 (110111110111)2 =( )16 (32)10 =()16 (1AD)H =()B = ()D 每题5分 2、在计算机内部,信息的存储和处理都采用二进制,最主要的原因是() A.便于存储 B 数据输入方便 C.可以增大计算机存储容量D.易于用电子元件实现 3.“半斤八两”指古时候用的是十六进制,一斤是十六两,半斤等于八两,如果是不熟悉十,十六进制之间的转换时,可以借助的工具软件是() (A)画图(B)记事本(C)录音机(D)计算器 4.(2004)10 + (32)16的结果是() A. (2036)10 B. (2054)16 C. (4006)10 D. (100000000110)2 E. (2036)16 5.算式(31)10-(10001)2的运算结果是() A.(1101)2 B (15)10 C (1111)2 D (E)16 6.汉字“人”的内码是11001000 1100 1011 ,那么它的十六进制编码是()A.B8 CB B B8 BA C D8 DC D C8 CB 7.(08年10月高考题)二进制数1011与十进制数2相乘的值是()A.(10110)2B.(11010)2 C (11100)2D.(11111)2 8.下列数中最大的是() A.1111B B 111D C 1101D D 0AH 9.十进制数17的二进制表示为() A.10011B B 11110B C 10001B D 11101B 10.二进制数1001 转换成十进制数是() A.8 B 9 C 10 D 11 11.在海上,早期没有无线电通讯设备,人们通常使用3面由红,黄,蓝三种颜色的彩色小旗的排列来表达某种信息,它最多能表示的信息个数是()A12种B27种C64种D8种 12.某军舰上有5盏信号灯,信号灯只有"开"和"关"两种状态,如果包括5盏信号灯全关的状态,则最多能表示的信号编码数() (A)120种(B)31种(C)32种(D)5种

计算机各种进制转换

6.1 为什么需要八进制和十六进制? 编程中,我们常用的还是10进制……必竟C/C++是高级语言。 比如: int a = 100,b = 99。 不过,因为数据在计算机中的表示,最终以二进制的形式存在,所以有时候使用二进制,可以更直观地解决问题。 但,二进制数太长了。比如int 类型占用4个字节,32位。比如100,用int类型的二进制数表达将是: 0000 0000 0000 0000 0110 0100 面对这么长的数进行思考或操作,没有人会喜欢。因此,C,C++ 没有提供在代码直接写二进制数的方法。 用16进制或8进制可以解决这个问题。因为,进制越大,数的表达长度也就越短。不过,为什么偏偏是16或8进制,而不其它的,诸如9或20进制呢? 2、8、16,分别是2的1次方,3次方,4次方。这一点使得三种进制之间可以非常直接地互相转换。8进制或16进制缩短了二进制数,但保持了二进制数的表达特点。在下面的关于进制转换的课程中,你可以发现这一点。 6.2 二、八、十六进制数转换到十进制数 6.2.1 二进制数转换为十进制数 二进制数第0位的权值是2的0次方,第1位的权值是2的1次方…… 所以,设有一个二进制数:0110 0100,转换为10进制为: 下面是竖式: 0110 0100 换算成十进制 第0位 0 * 20 = 0 第1位 0 * 21 = 0 第2位 1 * 22 = 4 第3位 0 * 23 = 0

第4位 0 * 24 = 0 第5位 1 * 25 = 32 第6位 1 * 26 = 64 第7位 0 * 27 = 0 + --------------------------- 100 用横式计算为: 0 * 20 + 0 * 21 + 1 * 22 + 1 * 23 + 0 * 24 + 1 * 25 + 1 * 26 + 0 * 27 = 100 0乘以多少都是0,所以我们也可以直接跳过值为0的位: 1 * 2 2 + 1 * 2 3 + 1 * 25 + 1 * 26 = 100 6.2.2 八进制数转换为十进制数 八进制就是逢8进1。 八进制数采用 0~7这八数来表达一个数。 八进制数第0位的权值为8的0次方,第1位权值为8的1次方,第2位权值为8的2次方…… 所以,设有一个八进制数:1507,转换为十进制为: 用竖式表示: 1507换算成十进制。 第0位 7 * 80 = 7 第1位 0 * 81 = 0 第2位 5 * 82 = 320 第3位 1 * 83 = 512 + -------------------------- 839 同样,我们也可以用横式直接计算: 7 * 80 + 0 * 81 + 5 * 82 + 1 * 83 = 839 结果是,八进制数 1507 转换成十进制数为 839

各种进制之间的转换(可编辑修改word版)

一:十进制数转换成二进制数。 随便拿出一个十进制数“39”,(假如你今天买书用了39 元)先来把这个39 转换成2 进制数。 商余数步数39/2= 19 1 第一步 19/2= 9 1 (这里的19 是第一步运算结果的商)第二步 9/2= 4 1 (这里的9 是第二步运算结果的商)第三步 4/2= 2 0 (这里的4 是第三步运算结果的商)第四步 2/2= 1 0 (这里的2 是第四步运算结果的商)第五步 1/2= 0 1 (这里的1 是第五步运算结果的商)第六步 那么十进制数39 转换成2 进制数就是100111. 既39(10)=100111(2) 解析一:1. 当要求把一个10 进制数转换成2 进制数的时候,就用那个数一直除以2 得到商和余数。 2. 用上一步运算结果的商在来除以2,再来得到商和余数。 3. 就这样,一直用上一步的商来除以2,得到商和余数!那么什么时候停止呢? 4. 请看上述运算图,第六步的运算过程是用1 除以2.得到的商是0,余数是1. 那么请你记住,记好了啊共2 点。A: 当运算到商为“0”的时候,就不用运算了。B:1/2 的商为“0”余数为“1”。这个你要死记住,答案并不是0.5!答案就是商为“0”余数为“1”。你不用去思考为什么,记好了就行了! 5. 在上述图中你会清晰的看到每一步运算结果的余数,你倒着把它们写下来就是“100111”了。那么这个就是结果了。 6. 在上述图中符号“/”代表“除以”。 二:十进制数转换成八进制数。 随便拿出一个十进制数“358”,(假如你今天买彩票中了358 元)。358 是我们现实生活中所用10 进制表达出来的一个数值,转换成八进制数十多少?

相关文档
最新文档