[中级]软考_软件设计_计算机组成与体系结构_01_数据的表示

14 篇文章 0 订阅
14 篇文章 0 订阅
本文详细介绍了进制转换的四种形式,包括十进制、二进制、八进制和十六进制;探讨了原码、反码、补码和移码的概念及其比较;讲解了浮点数的表示方法、判断大小和运算特点;此外,还涵盖了逻辑运算符的优先级、逻辑表达式和短路原则,以及相关例题解析和历年真题。
摘要由CSDN通过智能技术生成

考点一:进制转换

进制对应

四种常见进制形式

十进制D: 都是以0-9这九个数字组成,不能以0开头,没有任何说明一般都是十进制。
二进制B: 由0和1两个数字组成,逢2进1,用字符B来表示。
八进制: 由0-7数字组成,为了区分与其他进制的数字区别,开头都是以0开始。
十六进制H:由0-9和A-F组成。为了区分于其他数字的区别,一般都是以0x开始,H结尾。

数码

表示进制的字符,例如二进制是用0和1来表示

基数

多少进制,基数就是多少,是用来计算大小的标准

位权

是用来计算大小的为标准,例如:数字19,使用10进制来表示为: 1 ∗ 1 0 1 1*10^1 1101+ 9 ∗ 1 0 0 9*10^0 9100 = 10+9 = 19
公式为:数码(每个位置上的数) * 位权(基数的K次方) 22(n-1)

数字按权展开
10100.01B1* 2 4 2^4 24+0+1* 2 2 2^2 22+0+0+0+1*2-2

辅助理解:
10100.01 先转为10进制 为:10000+100+0.01
表示为:1✖104+1✖102+1✖10-2
带入基数所得为:1✖24+1✖22+1✖2-2

进制转换

十进制转为R进制

一般使用短除法也叫除基取余法,直到商为0为止

数字步骤结果(转为二进制)
9494/2结果47余数为00
4747/2结果23余数为111
2323/2=结果11余数为11
1111/2结果5余数为11
55/2结果2余数为11
22/2结果1余数为00
11/2/2结果0余数为1

所以94转为二进制结果为:1011110

拓展部分:94转为16进制

数字步骤结果(转为十六进制)
9494/16结果5余数为1414(E)
1414/16结果0余数为55

故:结果为5E
解释:16数码为0-9,A,B,C,D,E,F;14对应的的为:E

十进制速转二进制(减法)

进制速转表格

二进制十进制
200
212
224
238
2416
2532
2664
27128
28256
29512
2101024

还用94来举例:

数字步骤结果
9494-64结果3026
3030-16结果1424
1414-8结果623
66-4结果222
22-2结果021

结果为0 结束:
结果
所以取值结果为: 1011110

二进制转为八进制十六进制

例如数字216 转为八进制为:
对应关系如下:

01234567
000001010011100101110111

我们先将216进行拆分,用下方表格表示:

216
010001110

关系为一对三的关系,若位数不够,前面补零即可

所以216的二进制表示为:10001110

转为16进制同理
15对应的是1111,也就是F,也就是我们常说的8421 码
其对应关系为1对四的关系。
已知二进制为:10001110根据四位进行拆分得到的数字为:1000,1110分别对应的是:8和E 所以结果为8E

考点二:码制

数字分为整数和负,而在计算机当中,没有办法来表示正负号的,所以0表示正好,1表示负号。符号位拼接上数值的绝对值这种表示形式我们称之为源码。牢记:计算机取固定长度!

原码

最高位是符号位,其余低位表示数值的绝对值。一般源码不直接参与运算,一般使用补码来进行加减运算。

反码

正数反码相同,负数的反码是其绝对值的按位置取反。(符号位不变)

补码(有人为定义)

正数补码与原码相同,负数的补码是其反码末位加1(符号位不变)

移码(有人为定义)

补码的符号位按位取反

原/反/补/移 的比较

概念数值1数值-1数值1-1是否直接参与运算
原码最高位是符号位,其余低位表示数值的绝对值。一般源码不直接参与运算,一般使用补码来进行加减运算。0000 00011000 00011000 0010
反码正数反码相同,负数的反码是其绝对值的按位置取反。(符号位不变)0000 00011111 11101111 1111否,一般需要过渡为反码
补码正数补码与原码相同,负数的补码是其反码末位加1(符号位不变)0000 00011111 11110000 0000
移码补码的符号位按位取反1000 00010111 11111000 0000

考点三:浮点数的表示

定点整数/小数概念

小数点在有效数字末位后,例子:8
小数点在有效数字首位前,例子:0.8

定点整/小数速记公式

码制定点整数定点小数数码个数
原码-(2n-1) ~ +(2n-1)-(1-2-(n-1)) ~ (1-2-(n-1))2n-1
反码-(2n-1) ~ +(2n-1)-(1-2-(n-1)) ~ (1-2-(n-1))2n-1
补码-2n-1 ~ +(2n-1-1)-1 ~ (1-2-(n-1))2n
移码-2n-1 ~ +(2n-1-1)-1 ~ (1-2-(n-1))2n

例题解析:公式解析

假设n=3时,其中一位为符号位,所到的的所有结果是:

000100
001101
010110
011111

共23种可能,也就是八种。第一列所表示的为整数,第二列为负数,也就是+3 ~ -3,也就是2n-1个。

例题解析:人为定义

假设:当n=8时,也就是共有8位数字时:

定点整数定点整数
题目当n=8时,也就是共有8位数字时当n=8时,也就是共有8位数字时
步骤1套用公式:-(2n-1) ~ +(2n-1)套用公式:-(1-2-(n-1)) ~ (1-2-(n-1))
步骤2结果为:-127~ +127结果为:-0.127 ~ 0.127
步骤3转为二进制,原码为:1111 1111 ~ 0111 1111转为二进制,原码为:-0.1111111 ~ 0.1111111
步骤4补码为:1000 0000 ~ 0111 1111-1~ +0.111 1111
解释其中128的补码为 1000 0000 是人为规定的其中-1的补码为1000 0000,是人为定义的

往年真题

采用n位补码(包含一个符号位)表示数据,可以直接表示数值的( D )。
A:2n         B:-2n        C:2n-1        D:-2n-1

如果“2X”的补码是“90H”,那么X的真值是( B )。
A:72         B:-56         C:56         D:111

备注:H对应的是16进制,根据8421码得到结论为:8对应1000,所以9就是1001,0对应0000,若想把原码转为补码,需要反码做过度: 1、符号位取反,得到原码 2、反码+1,得到补码

浮点数

浮点数表示

N=尾数*基数指数
尾数:定点小数
指数:阶码 (定点整数)

判断大小

阶码:影响表示的范围
尾数:表示数字的有效精度,尾数越长,越精准

浮点数的运算过程

1、先对接(小向大对接)
2、尾数计算
3、结果格式化 0.5 ~ 1之间

特点:

1、一般尾数用补码,阶码用移码
2、阶码的位数决定数的表示范围,位数越多范围越大
3、尾数的位数决定数的有效精度,位数越多精度越高
4、对阶时,小数向大数看齐
5、对阶是通过较小数的尾数右移实现的

往年真题

浮点数能够表示的数的范围是由其( B )的位数决定的。
A、尾数
B、阶码
C、数符
D、阶符

以下关于两个浮点数相加运算的叙述中,正确的是 ( B )
A、首先进行对阶,阶码大的向阶码小的对齐
B、首先进行对阶,阶码小的向阶码大的对齐
C、不需要对阶,直接将尾数相加
D、不需要对阶,直接将阶码相加

设16位浮点数,其中阶符1位、阶码值6位、数符1位、尾数8位。若阶码用移码表示,尾数用补码表示,则该浮点数所能表示的数值范围是( B )
A、-264 ~ (1-2-8)264
B.-263 ~ (1-2-8)263
C.-(1-28)264 ~ (1-2-8)264
D.-(1-28)263 ~ (1-2-8)263

考点四:逻辑运算

关系运算符的优先级

优先级相同(高)
<         (小于)
<=       (小于或等于)
>         (大于)
>=       (大于或等于)

优先级相同(低)
==       (等于)
!=        (不等于)

  1. 关系运算符的优先级高于赋值运算符
  2. 关系运算符的优先级低于算数云算符

逻辑表达与运算

逻辑或(∥、+、U、V、OR):连接的两个逻辑值全0时才取0
逻辑与(&&、*、·、Λ、AND):连接的两个逻辑值全1时才取1
逻辑异或(⊕、XOR):连接的两个逻辑值不相同时才取1,相同则取0
逻辑非(!、﹃、~、NOT,-):将原逻辑值取反即可

逻辑运算真值表

AB!AA+BA*BA⊕B
001000
011101
100101
110110

逻辑运算符

&& (逻辑与):相当于其他语言中的AND
|| (逻辑或):相当于其他语言中的OR
!(逻辑非):相当于其他语言中的NOT
例:a&&b若a,b为真,则a&&b为真。
a||b,若a,b之一为真,则a||b为真。
!a,若a为真,则!a为假。

优先次序:

! (非) > &&(与)> || (或)
逻辑运算符中的&&||低于关系运算符,!高于算术运算符
因此运算符的优先顺序为:! > 算术运算符> 关系运算符 >&&>||> 赋值运算符

短路原则:

在逻辑表达式的求解中,并不是所有的逻辑运算符都要被执行。

  • a&&b&&c只有a为真时,才需要判断b的值,只有a和b都为真时,才需
    要判断c的值
  • a||b||c只要a为真,就不必判断b和c的值,只有a为假,才判断b。a和b
    都为假才判断c

例题解析:短路原则

解析

往年真题

要判断字长为16位的整数a的低四位是否全为0,则( A )。
A、将a与0x000F进行"逻辑"运算,然后判断运算结果是否等于0
B、将a与0x000F进行"逻辑"运算,然后判断运算结果是否等于F
C、将a与0x000F进行"逻辑异或"运算,然后判断运算结果是否等于0
D、将a与0x000F进行"逻辑"运算,然后判断运算结果是否等于F


对布尔表达式进行短路求值是指:无须对表达式中所有操作数或运算符进行计算就可确定表达式的值。对于表达式"a or ((c<d) and b)”,( B ) 时可进行短路计算。
A、d为true
B、a为true
C、b为true
D、c为true

  • 15
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值