社区
C语言
帖子详情
请编写一个c程序确定signed,unsigned的char,short,int和long变量取值范围
Nlf
2007-03-29 09:20:39
way1:
通过打印标准的头文件中的相应的值来完成
way2:
自行通过计算得到
麻烦谁能给出代码?
...全文
1011
3
打赏
收藏
请编写一个c程序确定signed,unsigned的char,short,int和long变量取值范围
way1: 通过打印标准的头文件中的相应的值来完成 way2: 自行通过计算得到 麻烦谁能给出代码?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
晨星
2007-03-29
打赏
举报
回复
#include <limits>
#include <iostream>
using namespace std;
template<typename INT_TYPE>
struct to_int {
typedef INT_TYPE int_type;
};
template<>
struct to_int<signed char> {
typedef signed int int_type;
};
template<>
struct to_int<unsigned char> {
typedef unsigned int int_type;
};
template<typename INT_TYPE>
void print_scope() {
cout << typeid(INT_TYPE).name() << ":\t";
cout << (typename to_int<INT_TYPE>::int_type)numeric_limits<INT_TYPE>::min() << " - "
<< (typename to_int<INT_TYPE>::int_type)numeric_limits<INT_TYPE>::max() << endl;
}
int main() {
print_scope<signed char>();
print_scope<unsigned char>();
print_scope<signed short>();
print_scope<unsigned short>();
print_scope<signed int>();
print_scope<unsigned int>();
print_scope<signed long>();
print_scope<unsigned long>();
return 0;
}
thinkinnight
2007-03-29
打赏
举报
回复
还有,这里使用__int64来存取,否则会溢出
thinkinnight
2007-03-29
打赏
举报
回复
signed int的范围,其他和这个差不多。
way1:
#include <climits>
#include <iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
cout<<INT_MAX<<endl;
cout<<INT_MIN<<endl;
return 0;
}
way2:
#include <iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
size_t sz = sizeof(int);
__int64 base = 1;
__int64 range = base<<(sz*8-1); //1位符号位,这里打印出最大值,最小值同理
cout<<range<<endl;
return 0;
}
C语言基本数据类型的长度和
取值范围
C语言基本数据类型的长度和
取值范围
不用积分 只为帮助新手
C语言数据类型及
取值范围
.doc
C语言数据类型及
取值范围
24. 关键字之
signed
和
un
signed
.pdf
24. 关键字之
signed
和
un
signed
C++数据类型及
取值范围
C++数据类型及
取值范围
1.基本数据类型: ①字符类型:
char
(字符型) 例:‘A’,’b’ ②整数类型:
int
(整型) 例:4563, 234, 885634 ③浮点类型:float(单精度型)、double(双精度型) 例:3.1456 , 0.9e12 ④空值类型:void(空值型) ⑤布尔类型:bool 例:true , false。 2.类型修饰符共四种 例:
short
a; ; 则-32767≤a ≤32767 例:
un
signed
short
a; ; 则0≤a ≤65535
signed
(有符号)
un
signed
(无符号)
long
(长型)
short
(短型) 3.常用数据类型 ①
char
(
signed
char
) ,
un
signed
char
:1个字节 ②
short
(
signed
short
),
un
signed
short
:2个字节 ③
int
(
signed
int
) ,
un
signed
int
:4个字节 ④
long
(
signed
long
) ,
un
signed
long
:4个字节 ⑤float:4个字节(大约6位有效数字) ⑥double:8个字节(大约12位有效数字) ⑦
long
double:10个字节(大约15位有效数字) 4.常用数据类型
取值范围
数据类型关键字 字节数 数值范围
char
1 -128到126
un
signed
char
1 0到255
short
2 -32,768到32,767
un
signed
short
2 0到65,535
long
4 -2,147,483,648到2,147,483,648
un
signed
long
4 0到4,294,967,295
int
4 同
long
un
signed
int
4 同
un
signed
long
float 4 1.2E-38到3.4E381 double 8 2.2E-308到1.8E3082 bool 1 true或false
C语言数据类型详解.doc
C语言数据类型详解 介绍C语言中的数据类型, 符号属性, 长度属性, 基本型, 所占位数 ,
取值范围
, 输入符举例 ,输出符举例等内容 介绍的很详细.
C语言
70,040
社区成员
243,246
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章