欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

04:填空:类型转换1

程序员文章站 2024-03-07 22:07:45
...

原题链接

总时间限制: 
1000ms 
内存限制: 
65536kB
描述

有两个变量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

输入
无。
输出
一行,包含两个大写字母,分别代表变量a和b的类型标号。中间用一个空格隔开。
样例输入
样例输出
A B
// 仅作格式示例,非正确答案

源码

#include <iostream>
#include <iomanip>
using namespace std;
/*
如果以最高位为符号位,二迚制原码最大为0111111111111111=2的15次方减1=32767,最小为1111111111111111=-2的15次方减1=-32767。
但是计算机中采用二迚制补码存储数据,即正数编码不变,仍0000000000000000到0111111111111111依旧表示0到32767;而负数需要把除符号
位以后的部分取反加1,即-32767的补码为1000000000000001。所以,补码系统中,范围是-23768~32767。
 */
int main()
{
    cout << "D C" << endl;
    return 0;
}

04:填空:类型转换1