作业一:
计算:0100111001-01110000
0100111001-01110000即为0100111001+(-01110000)
十进制表示为313-112
首先将(-01110000)写成10位二进制数即为1001110000
再计算1001110000的补码为1110010000
然后再用二进制加法计算
0100111001
+ 1110010000
---------------------
10011001001
因为往前进了一位所以要舍去进位的1最终结果为0011001001这个结果是补还要转换为原码,而它的符号位为0所以原码和补码一样即为0011001001转换为10进制为201
作业二:
将1110011001000逻辑右移3位后的二进制与十进制是什么?
逻辑右移不管符号位直接右移所以最终结果:
二进制为0001110011001
十进制为921
将1110011001000算数右移3位后的二进制与十进制是什么?
算数右移符号位也要一起右移,并且符号位为1补1符号位为0补0所以最终结果为:
二进制:1111110011001
因为计算机是通过补码进行计算的所以结果为负的话要转成原码再换算成10进制即为1000001100111
十进制:-103
作业三:
高级编程语言中的数据类型表示的是什么?
int整形表示整数 float浮点型:小数
char字符型:各种字符
32位环境中,指针的长度是多少位?
32位的环境就是cpu的寻址范围为32位,指针也就是地址,所以长度也是32位