1.求下列数据的原码、反码和补码:
a.-35
原码:1010 0011
反码:1101 1100
补码:1101 1101
b.-124
原码:1111 1100
反码:1000 0011
补码:1000 0100
c.-85
原码:1101 0101
反码:1010 1010
补码:1010 1011
d.-113
原码:1111 0001
反码:1000 1110
补码:1000 1111
2.求下列数据的输出结果:
a.unsigned char c = -10; %u无符号输出结果:
输入:-10的原码:1000 1010
反码:1111 0101
补码:1111 0110
输出:补码:1111 0110
无符号,默认输出正的,所以原码=反码=补码
%u无符号输出结果为246
b.signed char p = 213;%d有符号输出的结果:
输入:213的补码=反码=原码=1101 0101
输出:补码:1101 0101
反码:1101 0100
原码:1010 1011
%d有符号输出的结果为171
3.思维导图:
4.第一个C语言程序,分步编译并查看每一步的结果
.i文件:
.s文件:
.o文件:
可执行文件:
5.求下列宏定义的输出结果:
#define N 10
#define M N*2+4
#define NUM M*N/M*3+M
N:10;
M: 10*2+4 = 24;
NUM:10*2+4*10/10*2+4*3+10*2+4
=20+8+12+20+4
=64;