计算机组成原理是计算机科学的基础,它涵盖了计算机硬件的各个组件,包括数据的表示和运算。在本作业中,我们主要探讨了几个关键概念,首先是不同数值的二进制、八进制和十六进制转换。
1. **数的转换**:
- 十进制到二进制、八进制和十六进制的转换是基础计算任务。例如,-282.75在二进制中表示为-100011010.1100,在八进制中为-432.6,在十六进制中为-11A.C。这个过程涉及到除法和模运算,以及对负数的理解,因为在二进制中,负数通常使用补码表示。
- 对于分数,例如-115/512,转换时需要考虑其小数部分。在二进制中,-115/512等于-0.001110011,八进制为-0.163,十六进制为-0.388。
2. **原码、反码和补码**:
- 8位机器数的表示方式包括原码、反码和补码。原码直接表示数值的正负,如-127的原码为11111111,而0的原码、反码和补码都是00000000。补码用于表示负数,它是原码除符号位外所有位取反再加1的结果,如-127的补码为10000001。反码是除了符号位不变,其余位取反得到的,对于非零负数,反码与补码相同,但0的反码是11111111。
3. **机器数的真值**:
- 给定机器数的补码、反码或原码,可以确定其对应的二进制真值。例如,[X]补=0.1001表示的真值是+1001,而[X]原=1.1101的真值是-1101。
4. **定点数和浮点数**:
- 定点数在计算机中表示为固定小数点位置的数,可以是无符号、原码、反码或补码表示。例如,9CH和FFH在无符号整数表示下分别是156和255,而在浮点数表示中,它们的真值会受到小数点位置和编码方式的影响。
- 浮点数包含阶码和尾数两部分,其表示范围由阶码决定,精度由尾数决定,正负由数符(即符号位)指示。规格化浮点数的尾数通常要求不以0开头,如果是原码,尾数的第一位是1(1.0…),如果是补码,尾数第一位可能是1或0(1.0…或0.1…)。
5. **浮点数的运算**:
- 规格化浮点数的尾数表示形式如M0.M1…Mn,其中M0不能为0,以确保非零小数的最小值。对于原码,尾数必须满足M1=1;对于补码,M0.M1可能为1.1或0.1。
6. **浮点数的表示范围和精度**:
- 阶码的位数决定了浮点数能表示的最大和最小的指数,从而决定了表示的范围。
- 尾数的位数决定了浮点数能表示的小数部分,从而决定了精度。
- 数符位决定了浮点数是正还是负。
- 阶码的底(通常是2)在浮点数的表示中是隐含的,不需要额外存储。
7. **浮点数的计算**:
- 要将一个十进制数转换为浮点数格式,需要确定其规格化形式,并根据给定的浮点数格式安排阶码和尾数。例如,X=-25/64可以表示为规格化的浮点数-X=-0.11001×2^-1,Y=2.875可以表示为规格化的浮点数Y=0.10111×2^2。
- 十六进制表示的浮点数,如9F4H,需要转换成二进制并解码,然后根据浮点数格式计算其真值。
8. **机器数的表示范围**:
- 16位无符号整数的表示范围是从0到2^16-1,即0到65535。对于有符号整数,根据补码表示,其范围是-2^(n-1)到2^(n-1)-1,对于16位机器数,范围是-32768到32767。
以上就是计算机组成原理作业1-4章中的主要内容,包括数的表示、运算、浮点数格式和计算等方面的知识点。理解这些内容对于深入理解计算机硬件的工作原理至关重要。