1.加法器是如何计算不同类型变量的加法的
分析:加法器的功能就是计算而已,其有两个输入端,当两个输入端都有数据时,其就进行计算并将结果输出。输入到加法器的两端的数据格式是统一的(可能都是有符号的补码形式)。这就是说,各种类型的变量相加,这些变量在进入加法器输入端之前,程序都会根据其类型将其转换为输入端统一的格式。然后进行计算,计算完成后程序再根据保存计算结果的变量类型将结果转换为相应的类型并保存。例子如下:
unsigned char a=-4;
unsigned char b=277;
int c=a+b;
a中的代码的意义是252,因为a是unsigned char型,-4用补码表示后,转换为unsigned char型,这里的转换就是简单的复制。而在a中,这个二进制码被解释为252.
计算a+b时,根据a和b的类型将其转换为输入端统一的格式(转换过程中ab的实际意义是不变的),然后
计算,计算后的结果由于要存储在c中,再根据c是int型,将结果转换为int型存入c中