NOI1.2-04填空:类型转换1
3491+
作者:crxis 发布:2017-06-07 分类:变量类型
题目大意:两个整型变量,分别存储32768,其中一个变量的值变成了-32768,这两个变量可能是什么类型?
问题描述
有两个变量a和b,在执行了如下代码后:
a = 32768; b = a; printf("%d %d\n", a, b);
输出两个数:32768 -32768
请问a和b分别是以下哪种类型?
A. bool B. char C. short D. int E. float F. double
解题思路
在原码里面00000000和100000000都是表示0,这样比较浪费。在补码里面,就把100000000当做-2^7 ,以扩大补码表示范围。
对于正数:原码、反码、补码是一样的;对于负数:反码为原码取反;补码为原码取反再+1;最高位为符号位。