C语言题 下题如何解释 请教高手

2024-12-14 14:05:39
推荐回答(2个)
回答1:

最近又把C语言看了一半,没看完,不过有点收获,呵呵,我好像会做
1、将一个负整数赋给无符号的变量,会得到什么结果?画出它们在内存中的表示形式。
答:首先你应该知道补码的概念。(对负数,符号位不变原码按位取反加一,就是补码。负整数最左面那位存的是符号位1,代表它是负值。)如果把负值给UNSIGNED那么他直接显示实际存储的数值,比如

2.将一个大于32767的长整数赋给整型变量(假定所用的C系统分配给整型变量2个字节),会得到什么结果?
答: 长整数申请空间是4字节,整型2字节如果把long给int那么只给低位,就是后面两个字节中的内容

3、将一个长整数赋给无符号变量,会得到什么结果?

直接复制,但从低位开始,取无符号变量unsigned可以存储的最大位数。(注意是二进制位数)

回答2:

hehe看来都是学生,理论上基本是对的
实际上短整,整和长整都是四个字节,现在很难找到16为的系统了
你可以牛逼的和你老师说他出的题太老了,跟不上形式了