有问题就有答案
Q1:计算机内数的表示与编码
2.机器号的表示方法a .原码1。定义:正数的符号位用0表示,负数的符号位用1表示,数值部分用二进制形式表示,称为这个数的原码。例如,x=81(x)origin=0 101001y=-81(y)origin=1 1010001符号位值2。用原码表示一个数字简单、直观、方便。但不能用来减去两个符号相同的数,也不能用来加两个符号不同的数。比如直接加上小数“36”和“-45”的原码:x=36(x)original=00100100y=-45(y)original=10101101和001000……(36)10)10101。b .反码的定义:正数的反码与原码相同,负数的反码是除符号位外的每一位都反转,即“0”变“1”,“1”变“0”。例如x=81,y=-81x)origin=0.1010001(x)inverse=0.1010001y)origin=1.1010001(y)inverse=1.0101110符号位值符号位值c,补码1,定义:正数的补码与原码相同,负数的补码。例如:x=81,y=-81 (x)原=(x)逆=(x)补=01010001 (y)原=11010001 (y)逆=10101110 (y)补=10101112。例如,如果十进制数计算为36-45,则可以写成36 (-45)。也就是说,(36) 10-(45) 10=(36) 10 (-45) 10 (36)原=(36)逆=(36)补=00100100 (-45)原=10101101 (-45)逆=。3.字符编码所谓字符编码就是指定用什么样的二进制编码来表示字符和符号。主要包括以下几种类型:1。BCD码(二进制-十进制码);2.ASCII码;3.汉字编码。1.BCD码(二进制-十进制码):把十进制数的每一位都写成二进制数,称为二进制-十进制码或BCD码。BCD编码方法有很多,但常用的是8421编码:它用4位二进制数表示1位十进制数,即每个十进制数用4位二进制数表示。这些4位二进制数的权重从高到低分别为23、22、21和20,即8、4、2和1。这种编码最自然简单,方便直观,容易识别。例如,十进制数1998的8421代码是0001 1001 1001 1000十进制数:1 9 9 8 8421代码33 360 00 00 01 01 01 01 100 00位权重:8 42 18 42 18 21 8 42 1。思考:1。十进制数的BCD码如何转换成十进制数?2.十进制数的BCD码是该数的二进制数吗?3.如何将一个十进制数的BCD码转换成二进制数?2.ASCII码ASCII码是计算机系统中使用最广泛的代码之一(发音为asker Code)。尽管ASCII是美国的国家标准,但它已被国际标准化组织(ISO)确认为国际标准。ASCII码在世界范围内得到了认可和使用。ASCII码有7位版本和8位版本。7位版本在世界上被广泛使用。7位版本的ASCII有128个元素,包括34个通用控制字符、10个阿拉伯数字、52个大小写英文字母、32个标点符号和算术符号。例如“A”的ASCII码值为:1,000,001,即十进制65;“a”的ASCII码值为:1100001,即十进制为97;ASCII码值“0”为0110000,十进制为48。3.汉字编码当中国用户使用计算机进行信息处理时,他们都使用汉字:汉字的输入、输出和处理。需要对汉字进行编码。汉字一般有两种代码:国标代码和内码。a .国家标准代码计算机处理汉字所使用的编码标准是我国1980年颁布的国家标准(GB2312-80),是国家规定的汉字编码依据,简称国标代码。国标代码规定一个汉字用两个字节表示。国家标准代码共包含7445个汉字和图形符号。
国标码本身也是汉字输入码。通常称为位置输入法。内码内码是指计算机中代表一个汉字的代码。内码是机器的一种内码,其主要作用是作为汉字信息交换码:将不同系统使用的不同代码统一转换为国家标准代码,使汉字信息在不同系统之间进行交换。由于内码的存在,允许用户根据自己的习惯使用不同的汉字输入法,如吴彼字体、自然码、智能拼音等。进入系统后转换为内部代码进行存储。(4)汉字编码西方是拼音,基本符号少,编码容易。因此,在计算机系统中,相同的代码可以用于输入、内部处理、存储和输出。汉字种类繁多,编码比拼音文字更难,所以不同场合要用不同的编码。通常有四种代码,即输入代码、国家标准代码、内部代码和字体代码。(1)输入码输入码解决了如何使用西方标准键盘将汉字输入电脑的问题。输入码多种多样,可分为三类:数字编码、拼音编码和文字编码。数字编码。就是用一个数字串来表示一个汉字,常用的是国标位置码。它将国家标准局公布的6763个二级汉字分为94个区域,每个区域94位。其实汉字是用二维数组表示的,区号和位码分开使用。两位十进制数表示,输入一个汉字需要按4次键。数字编码是惟一的,但很难记住。比如“中”字,它的区位码以十进制表示为5448(54是区码,48是位码),以十六进制表示为3630(36是区码,30是位码)。以十六进制表示的区位码不是用来输入汉字的。● 拼音编码。是以汉字读音为基础的输入方法。由于汉字同音字太多,输入后一般要进行选择,影响了输入速度。● 字型编码。是以汉字的形状确定的编码,即按汉字的笔画部件用字母或数字进行编码。如五笔字型、表形码,便属此类编码,其难点在于如何拆分一个汉字。② 国标码又称为汉字交换码,在计算机之间交换信息用。用两个字节来表示,每个字节的最高位均为0,因此可以表示的汉字数为214=16384个。将汉字区位码的高位字节、低位字节各加十进制数32(即十六进制数的20),便得到国标码。例如“中”字的国标码为8680(十进制)或7468(十六进制)。这就是国家标准局规定的GB2312—80信息交换用汉字编码集。③ 内码汉字内码是在设备和信息处理系统内部存储、处理、传输汉字用的代码。无论使用何种输入码,进入计算机后就立即被转换为机内码。规则是将国标码的高位字节、低位字节各自加上128为了统一表示世界各国的文字,1993年国际标准化组织公布了“通用多八位编码字符集”的国际标准ISO/IEC 10646,简称UCS(Universal Code Set),它为包括汉字在内的各种正在使用的文字规定了统一的编码方法。该标准使用4个字节来表示一个字符。其中,一个字节用来编码组,因为最高位不用,故总共表示128个组。一个字节编码平面,总共有256个平面,这样,每一组都包含256个平面。在一个平面内,用一个字节来编码行,因而总共有256行。再用一个字节来编码字位,故总共有256个字位。一个字符就被安排在这个编码空间的一个字位上。例如ASCII字符“A”,它的ASCII为41H,而在UCS中的编码则为00000041H,即位于00组、00面、00行的第41H字位上。又如汉字“大”,它在GB2312中的编码为3473H,而在UCS中的编码则为00005927H,即在00组、00面、59H行的第27H字位上。4个字节的编码足以包容世界上所有的字符,同时也符合现代处理系统的体系结构。④ 字形码表示汉字字形的字模数据,因此也称为字模码,是汉字的输出形式。通常用点阵、矢量函数等表示。用点阵表示时,字形码指的就是这个汉字字形点阵的代码。根据输出汉字的要求不同,点阵的多少也不同。简易型汉字为16�0�716点阵、提高型汉字为24�0�724点阵、48�0�748点阵等。现在我们以24�0�724点阵为例来说明一个汉字字形码所要占用的内存空间。因为每行24个点就是24个二进制位,存储一行代码需要3个字节。那么,24行共占用3�0�724=72个字节。计算公式:每行点数/8�0�7行数。依此,对于48�0�748的点阵,一个汉字字形需要占用的存储空间为48/8�0�748=6�0�748=288个字节。(十进制)或80(十六进制)。例如,“中”字的内码以十六进制表示时应为F4E8。这样做的目的是使汉字内码区别于西文的ASCII,因为每个西文字母的ASCII的高位均为0,而汉字内码的每个字节的高位均为1。
Q2:计算机源码,反码,补码之间怎么计算?
1、正整数的原码、反码、补码完全一样,即符号位固定为0,数值位相同。2、负整数的符号位固定为1,由原码变为补码时,规则如下:原码符号位1不变,整数的每一位二进制数位求反,得到反码;反码符号位1不变,反码数值位最低位加1,得到补码。3、例如正整数的原码为01110110,则反码和补码也为01110110;负整数的原码为11110110,反码为10001001,补码为11110111。拓展资料:1、反码是数值存储的一种,多应用于系统环境设置,如linux平台的目录和文件的默认权限的设置umask,就是使用反码原理。在计算机内,定点数有3种表示法:原码、反码和补码。2、在计算机系统中,数值一律用补码来表示(存储)。 主要原因:使用补码,可以将符号位和其它位统一处理;同时,减法也可按加法来处理。另外,两个用补 码表示的数相加时,如果最高位(符号位)有进位,则进位被舍弃。
Q3:原码0,011000.11反码0,011000.11补码和十进制数是多少
原码反码最高位(符号位)为0,是正数,真值= +11000.11b正数的原码、反码、补码相同,补码亦是 0011000.11b0011000.11b =11000b +11b/2^2 =24d +3d/4d =24.75d
Q4:十进制是怎么样算
小数的运算如下:相加时:“每十进制一位”;减法:“借一当十”。在十进制数中,数字的位置不同,表示的值也不同。类型,每个对应的数字都有一个与之对应的系数1000,100,10,1,这个系数叫做权值或比特权值。十进制数的位权重一般表示为:在公式10n-1中,10为十进制进位基数;10的I时间是I位的右边;n表示相对于小数点的位置,取整数;当n在小数点左边时,n=1,2,3.依次n。当位于小数点右边时,n=-1,-2,-3依次…因此,634.27可以写成:634.27=6102 3101 4100 210-1 710-2。十进制是以10为基础的数字系统。如果用不超过10个的数字来表示所有的数值,无论多大,十进制都叫十进制,其中1位代表10次,2位代表100次,以此类推。十进制数是日常生活中使用最广泛的计数系统。有十个符号,如0、1、2、3、4、5、6、7、8、9,它们被称为数字。在十进制中,每个数字有十个数字,从0到9,所以计数的基数是10。9以上必须用多位数表示。参考:360个人图书馆。360个人图书馆【参考时间:2017年12月29日】。
Q5:急求计算机组成原理考试答案。
四1.逻辑运算设备,通用寄存器,地址寄存器MAR,数据寄存器MDR,指令寄存器IR,PSW寄存器,SP寄存器,PC,数据总线,地址总线!2.高速缓冲CACHE,介于寄存器和主存储器之间,存取速度十分快,用于缓解CPU和主存之间的同步问题。3.设置数据总线的接口,与地址总线的接口,用于主机和外部设备之间的信息交流.4.因为基本上任何命令都有取指令这一个过程,取指令主要完成两个操作分别是M-IR,PC+1-PC.意思是将指令送到指令寄存器。程序计数器加1.五.x+y=11.1000x-y=负溢
Q6:进制的互换
一、 常用数制及其相互转换 在我们的日常生活中计数采用了多种记数制,比如:十进制,六十进制(六十秒为一分,六十分为一小时,即基数为60,运算规则是逢六十进一),……。在计算机中常用到十进制数、二进制数、八进制数、十六进制数等,下面就这几种在计算机中常用的数制来介绍一下。 1.十进制数 我们平时数数采用的是十进制数,这种数据是由十个不同的数字0、1、2、3、4、5、6、7、8、9任意组合构成,其特点是逢十进一。 任何一个十进制数均可拆分成由各位数字与其对应的权的乘积的总和。例如: ? ? ? 这里的10为基数,各位数对应的权是以10为基数的整数次幂。为了和其它的数制区别开来,我们在十进制数的外面加括号,且在其右下方加注10。 2.二进制数 在计算机中,由于其物理特性(只有两种状态:有电、无电)的原因,所以在计算机的物理设备中获取、存储、传递、加工信息时只能采用二进制数。二进制数是由两个数字0、1任意组合构成的,其特点是逢二进一。例如:1001,这里不读一千零一,而是读作:一零零一或幺零零幺。为了与其它的数制的数区别开来,我们在二进制数的外面加括号,且在其右下方加注2,或者在其后标B。 任何一个二进制数亦可拆分成由各位数字与其对应的权的乘积的总和。其整数部分的权由低向高依次是:1、2、4、8、16、32、64、128、……,其小数部分的权由高向低依次是:0.5、0.25、0.125、0.0625、……。 二进制数也有其运算规则: 加法:0+0=0????0+1=1???1+0=1????1+1=10 乘法:0×0=0????0×1=0????1×0=0????1×1=1 二进制数与十进制数如何转换: (1) 二进制数—→十进制数 对于较小的二进制数: 对于较大的二进制数: 方法1:各位上的数乘权求和??例如: (101101)2=1×25+0×24+1×23+1×22+0×21+1×20=45 (1100.1101)2=1×23+1×22+0×21+0×20+1×2-1+1×2-2+0×2-3+1×2-4=12.8125 方法2:任何一个二进制数可转化成若干个100…0?的数相加的总和??例如: (101101)2=(100000)2+(1000)2+(100)2+(1)2 而这种100…00形式的二进制数与十进制数有如下关联:1后有n个0,则这个二进数所对应的十进制数为2n。 所以:(101101)2=(100000)2+(1000)2+(100)2+(1)2=25+23+22+20=45 (2)十进制数—→二进制数 整数部分:整除以2取余法。例如:75 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 将得到的一系列的余数倒过来书写就得到该数所对应的二进制数(1001011)2 小数部分:乘以2取整法。例如:0.7 0.7×2=1.4…1??0.4×2=0.8…0???0.8×2=1.6…1???0.6×2=1.2…1??0.2×2=0.4…0 3.八进制数 八进制数是由0、1、2、3、4、5、6、7、8任意组合构成的,其特点是逢八进一。为了与其它的数制的数区别开来,我们在八进制数的外面加括号,且在其右下方加注8,或者在其后标Q。 八进制数的基数是8,任何一个八进制数亦可拆分成由各位数字与其对应的权的乘积的总和。其整数部分的权由低向高依次是:1、8、82、83、84、85、……,其小数部分的权由高向低依次是:8-1、8-2、8-3、8-4、……。 八进制数与其它数制的转换: (1)与十进制数的互换 八进制数—→十进制数 十进制数—→八进制数 方法均与二进制数与十进制数互换的方法一样。 (2)与二进制数的互换 八进制数—→二进制数 把八进制数的每一位改成等值的三位二进制数,即“一位变三位”。 例如:56.103Q 解:?5?????6?.??1????0????3 ???? ↓????↓???↓???↓???↓?????????????? ???? 101??110???001??000??011 所以(56.103)8=(101110.001000011)2 二进制数—→八进制数 把二进制数从小数点开始向两边每三位为一段(不足补0),每段改成等值的一位八进制数即可,即“三位变一位”。 4.十六进制数 十六进制数是由0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F任意组合构成的,其特点是逢十六进一。为了与其它的数制的数区别开来,我们在十六进制数的外面加括号,且在其右下方加注16,或者在其后标H。 十六进制数的基数是16,任何一个十六进制数亦可拆分成由各位数字与其对应的权的乘积的总和。其整数部分的权由低向高依次是:1、16、162、163、164、165、……,其小数部分的权由高向低依次是:16-1、16-2、16-3、16-4、……。 十六进制数与其它数制的转换: (1)与十进制数的互换 十六进制数—→十进制数 十进制数—→十六进制数 方法均与二进制数与十进制数互换的方法一样。 (2)与二进制数的互换 十六进制数—→二进制数 把十六进制数的每一位改成等值的四位二进制数,即“一位变四位”。 例如:(3AD.B8)16 解:?3????A?????D.????B?????8 ???? ↓????↓????↓????↓????↓?????????????? ???? 0011??1010??1101??1011??1000 所以(3AD.B8)16=(1110101101.10111)2 二进制数—→十六进制数 把二进制数从小数点开始向两边每四位为一段(不足补0),每段改成等值的一位十六进制数即可,即“四位变一位”。 下表中列出了一些数的二、八、十和十六进制形式 二进制数 八进制数 十进制数 十六进制数 二进制数 八进制数 十进制数 十六进制数 0000 0 0 0 1001 11 9 9 0001 1 1 1 1010 12 10 A 0010 2 2 2 1011 13 11 B 0011 3 3 3 1100 14 12 C 0100 4 4 4 1101 15 13 D 0101 5 5 5 1110 16 14 E 0110 6 6 6 1111 17 15 F 0111 7 7 7 10000 20 16 10 1000 10 8 8 10001 21 17 11 ??? 二、计算机中数的表示 在计算机中所有的数据、指令以及一些符号等都是用特定的二进制代码表示的。 ??? 1.数值数据的表示 我们把一个数在计算机内被表示的二进制形式称为机器数,该数称为这个机器数的真值。机器数有固定的位数,具体是多少位受到所用计算机的限制。机器数把其真值的符号数字化,通常是用规定的符号位(一般是最高位)取0或1来分别表示其值的正或负。例如:假设机器数为8位,则其最高位是符号位,那么在整数的表示情况下,对于00101110和10010011,其真值分别为十进制数+46和-19。 机器数常采用原码和补码的形式作为其编码方式。 (1)原码 整数X的原码是指:其符号位的0或1表示X的正或负,其数值部分就是X的绝对值的二进制表示。通常用[X]原表示X的原码。 例如:假设机器数的位数是8,那么:[+17]原=00010001???[-39]原=10100111 注意:由于[+0]原=00000000,[-0]原=10000000,所以数0的原码不唯一,有“正零”和“负零”之分。 (2)反码 在反码的表示中,正数的表示方法与原码相同;负数的反码是把其原码除符号位以外的各位取反(即0变1,1变0)。通常,用[X]反表示X的反码。 例如:[+45]反=[+45]原=00101101??[-32]原=10100000???[-32]反=11011111 (3)补码 在补码的表示中,正数的表示方法与原码相同;负数的补码在在其反码的最低有效位上加1。通常用[X]补表示X的补码。 例如:[+14]补=10100100???[-36]反=11011011????[-36]补=11011100 注意1:数0的补码的表示是唯一的,即[0]补=[+0]补=[-0]补=00000000 注意2:利用公式?[X]补+[±Y]补=[X±Y]补??可以把加法和减法统一成加法。(符号位和其它位上数一样运算,如果符号位上有进位,则把这个进位的1舍去不要,即不考虑“溢出”问题)。 例如:??X=6,Y=2??求X-Y 解:??[X]补=00000110??????[-Y]补=11111110 ?????? [X-Y]补=00000100 另:机器数中采用定点或浮点数的方式来表示小数!(略) ??? 2.ASCII码 计算机除了能处理数值外还能处理字符(指字母A、B、…、Z、a、b、…、z,数字0、1、…、9,其它一些可打印显示的符号如:+、-、*、/、、…)。在计算机内部,这些符号也得用二进制代码来表示,目前,在国际上广泛采用的是美国标准信息交换代码(American?Standard?Code?for?Information?Interechang),简称ASCII码。 标准的ASCII码中共有128(27)个字符,所以标准的ASCII码采用7位二进制编码。因为其中的字符排列是有序的,其对应的ASCII码也是相连的,所以我们只需要记几个关键字符的ASCII码,其它可以推算。 ‘0’——48????‘A’——65??????‘a’——97 注:标准的ASCII码能表示的字符较少,于是在其基础上又设计了一种扩充的ASCII码,采用的是8位二进制编码,可以表示256个字符。 ??? 3.BCD码 十进制数在键盘输入和打印、显示输出时往往是将各个数字以ASCII码来表示的。但是在计算机内运算时,是以二进制形式进行的。为了便于转换,设计了一些用二进制编码表示的十进制数,称为二—十进制码,即BCD码(Binary?coded?Decimal)。 BCD码是用四位二进制代码来表示一位十进制数。有多种BCD码:8421码、2421码、余3码、格雷码。 常用BCD码 十进制数字 8421码 2421码 余3码 格雷码 0 0000 0000 0011 0000 1 0001 0001 0100 0001 2 0010 0010 0101 0011 3 0011 0011 0110 0010 4 0100 0100 0110 0010 5 0101 0101 1000 1110 6 0110 0110 1001 1010 7 0111 0111 1010 1000 8 1000 1110 1011 1100 9 1001 1111 1100 0100 注意:BCD码表示的数形式上像二进制数,但不是真正的二进制数。