发布时间:2019-09-02 17:08:10
有两个变量a和b,在执行了如下代码后:
输出两个数:32768 -32768
请问a和b分别是以下哪种类型?
A. bool B. char C. short D. int E. float F. double
变量a是int类型,变量b是short类型
int类型是4个字节,32位
short类型是2个字节,16位
int类型和short类型的第一位均用于表示数值的正负
因此int类型能储存的最大的数是2^31-1=2147483648
short类型能储存的最大的数是2^15-1=32767
首先把32768储存在int类型的变量a里面就是0000 0000 0000 0000 1000 0000 0000 0000
第一个0代表这是一个整数
再储存到b里面时,由于只有16位,因此只取了后16位,即
1000 0000 0000 0000
第一个1代表这是一个负数
这个数就是-3276
(这里为什么是-32768呢,建议去看一看关于原码、补码和反码的知识)
选D,int,整型
都是D的啊
都看不懂是什么 没学问真可怕
应该是D int,应该b=a,为什么b=-a?
自己定义测试一下更好
答案应该是B
咨询一下你的老师吧