软考-软件设计师中级备考 1、计算机内数据的表示
备考软件设计师中级,本人有基础,知识点速通
考点1:数的转换
1)10进制转n进制,使用除n取余法,B(二进制)、H(16进制)、D(10进制)
68D转B,计算步骤如下:
2|68=>0
2|34=>0
2|17=>1
2|8=>0 =>1000100(从下往上)
2|4=>0
2|2=>0
1|2=>1
2)二进制与16进制互相转换
1111000010.01101B 以小数点为界,从小数点开始往前和往后每四个分一组,不足四个的用0补齐
0011 1100 0010.0110 1000<=>3 C 2.6 8
考点2:计算机内数据的表示
原码:+0和-0问题
反码:正数的反码不变,负数的反码=数值位取反,+0和-0问题
补码:正数的补码不变,负数的补码=反码末位+1(要考虑进位),无0表示问题
8位字长下 原码反码表示范围-127~127
补码表示范围 -128~127
(范围那正数肯定都是一样的,负数要假设字长为9位,得到最小值为-128)
移码:补码的基础上符号位取反,移码只能用于表示整数
1)计算机字长为8,求X=-19D的原码、反码、补码
2|19 1
2|9 1
2|4 0 => 10010011
2|2 0
1|2 1
原码 10010011
反码 11101100
补码 11101101
2)计算机字长为8,求X=-20D的原码、反码、补码
原码 1001 0100
反码 1110 1011
补码 1110 1100