十进制转换成其它进制
方法:
以十进制二进制为例,其它进制类似。
例一:将整数转换为二进制数
由下往上的顺序排列余数:
例2:将小数转换成二进制数:
0. 3165
* 2 整数
0.6330 0 上
2
0 1 266 1 由上往下的顺序排列整数:
2
0.532 0 下
注:并不是所有十进制小数都换成有限位的二进制小数,有时整个转换过程会无限进行下去,此时,只能根据精度要求计算机的字长确定二进制数的位数,固然所有二进制小数是原十进制小数的近似值。
例 3 将 转换成二进制数
0.18 整数
2
0. 3 6 0
2
0.72 0 上
2
移去还0 1 .44 1
2
0. 88 0 下
2
移去还0 1. 76 1
将小数点后第5位四舍五入(0舍1入)后得:
例 4 将十进制数13.625转换成二进制。
分析:如此既有整数部分又有小数部分的数,两个部分因分别按照规则转换之后,再把值合在一起。
2 1 3 余
2 6 1
2 3 0
2 1 1
0 1
0.625 整数
2
1.250 1
2
0.50 0
2
1.0 1
同样,十进制 等。都是按照这个原则来进行的,请同学们下去自己尝试一下。
3 二进制,八进制,十六进制数间相互转换
(1) 二进制 八进制
分析:
所以 1位八进制数可转换位3位二进制数。
即 一位八进制数相当于三位二进制数。
方法: 把二进制数以小数点开始,每三位一段,把对应各段转化成八进制数,不足三位的,在前面用0补足三位。
例 1: 110 001 010, 101 010 001
6 1 2 , 5 2 1
例 2: 010 101 111 , 000 101 101 100
补 2 5 7 , 0 5 5 4
(2) 二进制 十六进制。
同理:
1位十六进制的数可以转换为3位二进制数。
方法:把二进制数以小数点开始,每四位一段,把对应各段转化成十六进制数,不足四位,在前面用0补足四位。
例: 0101 1110 1010 1001 , 1011
补 S E A 9 , B
(3) 八进制 二进制。
由二进制转换成八进制的方法可以看出转换的方法。
方法:
把各位数字直接转换成二进制数,不足三位的在前面用0补足三位。
例: 将 转换成二进制数:
010 101.011 110
(4)十六进制 二进制
由二进制转换成十进制的方法可知,其逆过程就是其方法 。
方法:把各位数字直接转化成二进制,不足四位的,在前面用0来补足。
例:将7B5.4AEH转化成二进制数.
(7B5.4AE)16=(0111 1011 0101. 0100 1010 1110)2
(5)十六进制数 八进制数
方法:先转化成二进制数,再转化成八进制数.即十六进制 二进制 八进制数。
三.二进制数的运算。
计算机中最广泛使用的是二进制数进行运算,二进制的运算包括算术运算和逻辑运算两种。
1. 算术运算。
(1)加法运算 规则:0+0=0,1+0=1,0+1=1,1+1=10(向高位进1)
例:1101+1011=1100 111+01=1000
(2)减法运算 规则:1-0=1,0-0=0,1-1=0,0-1=1(需向高位借位)
例: 110001-01100=100101 11101-10101=1000
(3)乘法运算 规则:0*0=0,0*1=0,1*0=0,1*1=1 (乘法运算的实质是一种移位相加)
例: 1110*1101=10110110 1001*1011=1100011
(4)除法运算 规则:0/0=0,0/1=0,1/1=1
例: (100110)2/(110)2=(110)2……..(10)2
2. 逻辑运算: 逻辑运算主要有四种基本的运算:
(1) 逻辑加法(“或”运算) 用符号”+”或” ”表示,规则: 0+0=0,0+1=1,1+0=1,1+1=1
(2) 逻辑乘法(“与”运算) 用符号”*”或” ” 表示,规则:0*0=0,0*1=0,1*0=0,1*1=1
(3) 非运算 规则:
(4) 异或运算 用符号” ”表示,规则:0 0=0,0 1=1,1 0=1,1 1=0
四.数的机器码表示
1. 符号数的机器码表示
(1) 真值与机器码
真值-----直接用正号”+”或”-”表示的二进制数,叫做符号数的真值.例:
+1011,-1000
机器数-------以0代表”+”,以1代表”-”,并将0或1放在二进制数的最高位(符号位)上,这种符号数被数值化后的数称作机器数. 例:+1011=01011
-1000=11000
机器数的二进制受到机器设备的限制.例:如字和长为8位的微型机,它所表示的带符号数为10100111B,最高位1代表负号”-”,因而其真正数值不是167而是-39.
(2).原码 一个机器数X,其符号位为 ,X的真值的绝对值|X|=x1,x2…..xn的机器数原码表示为: [X]=x0x1…….xn
当X>=0时,x0=0 ,
当X<=0时,x0=1
例: [+1101001B]=01101001B [-0111001B]=10111001B
注:0在原码中的两种表示方法: [+0B]=00000000B,[+0B]=10000000B
(2) 反码 表示方法: 正数的反码与原码相同,负数的反码是保持原码的符号位不变,其各位取反,即按位取反.
例:[+1101001B]反=01101001B [-1010110B]反=10101001B
注: [+0]=00000000B [-0]=11111111B
(4)补码
本例采用的是二位十进制数,故模为10 据此可将上述运算写成67-28=67+72(mod100)且有-28=72
因此,可以说-28对模100的补码是72。可见引入补码概念后有确定模的意义下,负数能转化为正数,减法可以转化为加法。由于计算机的子长是有限的。所以都有模运算。
求补码的方法有两种:
方法一:一个二进制整数x的补码记作[x]补,设模为m,x是真值,其补码定义是: [x]补=[x]原 x
x+m x<0
例:若计算机字长n=8位,机器数真值
x=-1101101b,求[x]补。
因为:n=8,所以m=2
所以:[x]补=m+x=100000000+(-1101101)
=10010011b
[x]补的最高位(符号位)为1,表明它是页数(-19)
注:0的补码只有一种表示码:
[+0]补=[-0]=000…0
8位二进制补码表示整数的范围是-128-+127。
方法二: [x]补=[x]原 x
[x]补=[x]反+1 <0
例:在上例中 x=-1101101b的补码为:
[x]反=10010010b
[x]补=[x]反+1=10010010+1=10010011b
(5)二进制小数的机器码表示。
与二进制数的机器码表示是类似的
例:
x=+0.1010101则有:[x]原=0.1010101 [x]反=0.1010101
[x]补=0.1010101 x=-0。1010101 则有:[x]原=1.1010101 [x]反=1.0101010 [x]补=1.0101011
2.数的定点与浮点表示。
(1) 定点数
计算机处理数据不仅有符号,而且大量的数据有小数,那么小数点在机器中又如何表示呢?通常把小数点隐含在机器数里某固定位置上,并不占二进制的一位,这种形式表示称为定点数。
定点数分为定点整数和定点小数;
(1) 定点整数
将小数点的位置隐含在机器数的最低位之后,叫做定点整数机器数,简称定点整数,即参与运算的为纯整数,计为x …x 的形式。对于小数,则在计算前,要取一比例因子,将其放在幂上,化成整数。
例 10111010 b li符号位 小数点位置。
由于数的符号为1,故为负整数,即-0111010b
例:(0.0111) 因为此数小于1,所以应乘以2 0.0111*2
字长为n的机器,其原码定点整数的表示范围是:-(2
(2) 定点小数:
将小数点隐含在机器数符号位和有效数值部分的中间,叫做定点纯小数机器数,简称定点小数,可计为: …x 的形式,这种方法用于表示纯小数,对于大于1的数,必须取一比例因子,将其缩小成小于1的数。
例:01000110b 0为符号位 1为小数位置位
因为数的符号位为0,且小数点在符号位之后,故为正纯小数,即+0.1000110b
例:1001.11
因为大于1,所以应乘以2
子长为n的机器,其原码定点小数的表示范围是:(2
(3) 浮点数
对于任意一个十进制数,可以通过移动小数点位置表示成指数和尾数两个部分,这种形式表示称为科学技术法。
例:0.00000078用科学计数法可以表示为7.8*10
浮点数表示数值和科学计数法相似。
对于任意一个二进制数的浮点形式应包括阶码和尾数两部分。这里阶码是指数的幂,它和尾数可以在机器中出现,而底数并不出现,是隐含的,随着尾数部分小数点的浮动,阶码值也要随之而变化,才能保持其值不变,采用这种形式表示的数,称为浮点数。
计为
n=2 式中:j-n的阶码,是带符号的整数
s-n的尾数,是数值的有效数字部分,一般规定带符号的二进制定点纯小数。
例如:浮点数表示形式:1011-010100000000 1011是阶码 010100000000是尾数阶码为-3,尾数为0.10100000000
它所表示的浮点数是:
(+0.101).2
例:0101-110010100100 0101为阶数 110010100100为尾数
由于阶码为+5,尾数为-0.10010100100
则表示的浮点数是:-(0.100101001).2
第二节 非数值数据的表示
文字,符号,图像,语言和逻辑信息等这一类数据称为非数值数据。
一 字符数据 主要指数字,字母,通用符和控制符等。
常用的编码是ASCII码
ASCII码 共128种常用字符,每个字符长度为7位,最高位一般用于奇偶标验位,通常将八位的二进制的ASCII码转化为二位的十六进制的方式表示 ,如A---Z,编码从41H到5AH。
二 逻辑数据 逻辑数据之间的运算可以表达事物内部的一种逻辑关系。计算机还能通过对逻辑数据的比较,判断,运算完成逻辑推理,定明定理等到一系列复杂逻辑加工性质的工作。
三 汉字的编码表示 下面简要的汉字输入,处理,输出的过程。
汉字 汉字编码 国标码 汉字内码 汉字图形 汉字输出
1. 输入码:根据采用的输入方式决定,目前,国内的汉字输入编码方案有百种之多,如音码,形码,五笔字型,双拼,全拼等。
2. 内码:由计算机统一成内部码,便于存储和处理,为了与字符区别,在国标码的最高位上加1,使其成为内码。
3. 汉字字形码:也叫汉字模点阵码,是确定一个汉字输出的字形点阵代码。其规格有16*16,24*24,32*32,40*40,48*48,64*64,96*96等。
第三节 表示信息的单位
信息在计算机系统中是指一些含有一定意义的字符组合,他们都采用一定的数据单位,而数据单位不完全一样,常用的单位有:
一. 位(bit)是最小的单位,一比特为二进制的一位包含的信息量。
二. 字节(byte)通常用8位二进制位组成一个字节。一个字节可以代表一个数字或一个特殊的符号,也通常用来量度计算机存储容量的大小,缩写为B。
三. 字(word)作为一个单元的一组字符或一组二进位为一个字。
四. 字长(word length)计算机 的每一个字所包含的位数称为字长,字长是计算机 的一项重要指标。
五. 字块(back) 作为一个单位处理的一组字,一组信息或一组数字称为字块。
六. 单位的换算
1byte=8bit
1word=2byte=16bit
1K= =1024B
1M= k= B
1G= M.K