C语言基本知识void main(){int a=1234,x;x=(char)a;printf(“a[d]=%d a[x]=%x x[d]=%d x[x]=%x \n",a,a,x,x);输出:a[d]=1234 a[x]=4d2 x[d]=-46 x[x]=ffd2求指教x[d]=-46 详解.

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/09 15:40:39
C语言基本知识void main(){int a=1234,x;x=(char)a;printf(“a[d]=%d a[x]=%x x[d]=%d x[x]=%x \n

C语言基本知识void main(){int a=1234,x;x=(char)a;printf(“a[d]=%d a[x]=%x x[d]=%d x[x]=%x \n",a,a,x,x);输出:a[d]=1234 a[x]=4d2 x[d]=-46 x[x]=ffd2求指教x[d]=-46 详解.
C语言基本知识
void main()
{int a=1234,x;
x=(char)a;
printf(“a[d]=%d a[x]=%x x[d]=%d x[x]=%x \n",a,a,x,x);
输出:
a[d]=1234 a[x]=4d2 x[d]=-46 x[x]=ffd2
求指教x[d]=-46 详解.

C语言基本知识void main(){int a=1234,x;x=(char)a;printf(“a[d]=%d a[x]=%x x[d]=%d x[x]=%x \n",a,a,x,x);输出:a[d]=1234 a[x]=4d2 x[d]=-46 x[x]=ffd2求指教x[d]=-46 详解.
a=0x04d2 (16进制)
x=0xd2(char的长度是2个byte)=11010010 (2进制,补码表示),最高位1是符号位,表示负数
x=-2^7+2^6+2^4+2^1=-46