1、第一章习题1.4原码:对于一个二进制数 X,如果规定其最高位为符号位,其余各位为该数的绝对值,并且规定符号位值为 0 表示正,为 1 表示负,采用这种方式的二进制编码称为该二进制数 X 的原码。补码:正数的补码等于正数的原码,负数的补码为其原码除符号位不动外,其余各位变反再加 1 所得。反码:对于正数而言,反码与原码相同;对于负数而言,反码符号位的定义与原码相同,但需要将对应原码的数值位按位变反。1.5 和:10101010差:000100001.6 和 01073差 -03371.7 和 0x1AABA差 -0x53201.8(251) 10=(11111011) 2=(373) 8=(FB
2、) 161.10在 16 位机中,157 补 = 0000000010011101-153补 = 1111111101100111157-153=157+(-153)= (0000000010011101) 2+(1111111101100111) 2=(0000000000000100) 2=(4) 101.14算法设计:用变量 s 存储累加和,k 表示计数描述为:(1)定义变量 s,k。(2)s 清零,k 赋初值 1。(3)判断 k 24;x7=(x return(x0|x1|x2|x3|x4|x5|x6|x7);2.11#includevoid main()unsigned long i
3、n;unsigned long a,b,c,d;scanf(“%ld“,/in=1563;a=(inb=(inc=(ind=inprintf(“%d.%d.%d.%d“,a,b,c,d);2.15(k 8)max=a b ? (a c) ? a : c):(b c) ? b : c);2.17X=yn2.18(c=0 c= getchar_r();if(c=0printf(“Please input a short number:n“);scanf(“%hd“,low = 0x00ff high = 0x00ff printf(“The high byte is:%cn“, high);printf(“The low byte is:%cn“, low);