HM008 整型四宽度
HM008 整型四宽度
来源: 第 8 集 数据类型-整型
难度: 入门
时间限制: 1s
空间限制: 64MB
题目描述
创建变量或常量时必须指定数据类型,才能分配一段合适的内存,避免空间浪费。能表示整数的类型有四种:short(短整型)、int(整型)、long(长整型)、long long(长长整型)。它们的差别就是占用空间不同,因而取值范围不同:空间越大,能表示的整数范围越广。
按宽度约定的有符号范围是:
- 按 \(2\) 字节算:\(-2^{15}\) 到 \(2^{15}-1\),即 \(-32768\) 到 \(32767\)。
- 按 \(4\) 字节算:\(-2^{31}\) 到 \(2^{31}-1\),即 \(-2147483648\) 到 \(2147483647\)。
- 按 \(8\) 字节算:\(-2^{63}\) 到 \(2^{63}-1\)。
long 的宽度和平台有关:
- 平台
W(常见 Windows):long与int同宽,都按 \(4\) 字节范围计算。 - 平台
L(64 位 Linux):long与long long同宽,都按 \(8\) 字节范围计算。
short 永远最窄,long long 在两种平台上都按 \(8\) 字节。日常开发没有特殊情况时,优先用 int 就足够了。
本题**不输出字节数**,只判断一个整数能不能放进指定类型。超出范围视为不能装下,不要依赖溢出回绕(例如把 \(32768\) 放进 short 是不合法的)。
输入格式
第一行一个字符 \(p\)(W 或 L),表示平台。
第二行一个整数 \(T\)(\(1 \le T \le 100\))。
接下来 \(T\) 行,每行一个类型名和一个整数 \(x\)(\(x\) 在 long long 可表示范围内)。类型名只会出现 short、int、long、longlong。
输出格式
对每个询问输出一行 Yes 或 No。
样例
输入 #1
W
5
short 32767
short 32768
int 32768
long 2147483648
longlong 2147483648
输出 #1
Yes
No
Yes
No
Yes
输入 #2
L
4
short -32768
int -2147483648
long 2147483648
longlong -1
输出 #2
Yes
Yes
Yes
Yes
说明
\(32768 = 2^{15}\),刚好超出 short 上界。平台 W 上 long 与 int 范围相同,所以 \(2147483648\) 放不进 W 的 long,但放得进 L 的 long。不要输出 \(2\)、\(4\)、\(8\) 这类字节数。
信息
- ID
- 1007
- 难度
- (无)
- 分类
- (无)
- 标签
- (无)
- 递交数
- 0
- 已通过
- 0
- 通过率
- ?
- 上传者