通用电子计算机例题示例

1存储器

某计算机有2个字节的寻址能力,访问其存储器的一个单元需要16位,该存储器的大小是多少(以字节为单位)?此存储器共存储多少位?
存储器大小为 2 16 = 64 k b 2^{16}=64kb 216=64kb,每个单元16位得存储了1M位

2ASCII和16进制

如下代码输出哪些内容?

printf ("%c %x", 13 + ‘A’, 130);
答案
N 82
%c数据类型为字符,根据ASCII表中A的ASCII码为65加13后为78,则为N
%x数据类型为16进制数130=16*8+2则输出为82

3原码、反码和补码

使用8位二进制数位,19的二进制原码、反码和补码表示分别是什么?-19的二进制原码、反码和补码表示分别是什么?
正数的反码就是原码,负数的反码等于原码除符号位以外所有的位取反。正数的补码与原码相同,负数的补码为 其原码除符号位外所有位取反(得到反码了),然后最低位加1.
19
原码:00010011
反码:00010011
补码:00010011
-19
原码:10010011
反码:11101100
补码:11101101

注:请依次给出这6个二进制数,并用空格隔开

4浮点

请给出32.9375的IEEE浮点数(32位)的十六进制表示。

注:需以x开头。

分数第一位1省略
在这里插入图片描述
正确答案:x4203C000

5二维逻辑运算

做如下二进制数逻辑运算,结果以二进制形式给出。

((NOT 1101) AND 0101) OR (1101 AND (NOT 0101))

#include<iostream>
using namespace std;
int main()
{   int x;
     x=((~ 13) & 5) |(13 & (~ 5));
	cout<< x <<endl;
	int y;
	cin>>y;

	return 0;
		
}

得出结果是
在这里插入图片描述
换成二进制为1000
这中间若是计算~5

#include<iostream>
using namespace std;
int main()
{   int x;
    // x=((~ 13) & 5) |(13 & (~ 5));
	 x=~5
		 ;
	cout<< x <<endl;
	int y;
	cin>>y;

	return 0;
		
}

最后结果为-6,5的原码为0101,去反为1010,这为补码,它的反码为1001,则原码为0110,则为6,故取反得-6.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值