「高悬赏!」@C语言大神,这道题的程序怎么写?请给我其中的一个的例子哦~

如题所述

追问

请问这是怎么得到的?要编程吗?

0X是什么意思呀

追答

你需要编程吗?你是提问者呀!题目中没有要求编程啊!我已经在注里说明了:32位的二进制在表格中放不下,用十六进制表示的,0x只是说后面的是十六进制数,0x本身没有数据意义。比如0x00000019是说00000019这个数是十六进制数。0x00000019换算成二进制是00000000 00000000 00000000 00011001,这么长放不到表格中去!我再说一遍,按题意,我理解只写二进制就行了,但相同的二进制在不同的类型下解释成十进制可能是不同的数,所以红色的是供参考的十进制数。

追问

int16位怎么转成signed char8位?要加符号吗?看右边八位吗?

追答

int16位怎么转成signed char8位?要加符号吗?看右边八位吗?

答:长字节数赋给短字节数时,自动从右边截到短字节数那么长的二进制位。编译时会有精度损失提示。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-03-14
举个例子(首先要知道转换为二进制:25=11001,-2=-10,32769=2∧15(2的15次方)+1=1000000000000001(14个0)
int16位:
0000000000011001(前面有11个0,0的作用是补不足位),
-0000000000000010(13个0,负号在左端,占一位),
1000000000000001(照搬)
unsigned(无符号,没有符号占位) int(16位)
0000000000011001(一样),
00000000000000010(14个0,负号位用0替换,多出个0)
1000000000000001(一样)
signed(有符号)char(8位)(则只截取【左边】的8位,可从16、32位的结果中截取,一定要注意的是对应,signed的就截取signed的,unsigned的就截取unsigned的)
00000000(8个0),
-0000000(7个0,有符号‘-’占位),
10000000(7个0)
unsigned (无符号)char(8位)(只截取【左边】的8位)
00000000(8个0),
00000000(8个0),
10000000(7个0)。
剩下的,自己去想想吧追问

请问这是怎么得到的?要编程吗?

追答

在计算机内是这么存的,何来的编程?

追问

哦哦 就是按规则计算就可以了是吗?

追答

你的意思是写出可以输出存储形式的代码?很抱歉,目前我没这么厉害,我最多能让它以十进制或者其它的进制的形式显示(显示形式),但与内存中的存储形式是不同,因为它不一定有那么多位

追问

signed char和unsinged char符号位在哪里?

本回答被网友采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网