社区
C语言
帖子详情
int取值范围
大自然的搬運工
2010-10-18 01:03:27
搜到一个结果说是和硬件有关,谁能更详细的说一下。byte short long float double是不是也和硬件有关系。
...全文
13246
20
打赏
收藏
int取值范围
搜到一个结果说是和硬件有关,谁能更详细的说一下。byte short long float double是不是也和硬件有关系。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
20 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
大自然的搬運工
2011-02-13
打赏
举报
回复
[Quote=引用 19 楼 zhx00100 的回复:]
引用楼主 qq2501 的回复:
搜到一个结果说是和硬件有关,谁能更详细的说一下。byte short long float double是不是也和硬件有关系。
真能忽悠人!
1byte 即 1字节 = 8 bit(内存中为8位)
int型在32位机上是4bytes(4个字节)(32位即 32/8=4字节)
在64位机上是8bytes(64/8=4字节)
规律自己可以看……
[/Quote]
我忽悠了吗?我认为这个不清楚的要大家一起讨论一下的,我忽悠你干什么!!可笑
zhx00100
2010-11-11
打赏
举报
回复
[Quote=引用楼主 qq2501 的回复:]
搜到一个结果说是和硬件有关,谁能更详细的说一下。byte short long float double是不是也和硬件有关系。
[/Quote]
真能忽悠人!
1byte 即 1字节 = 8 bit(内存中为8位)
int型在32位机上是4bytes(4个字节)(32位即 32/8=4字节)
在64位机上是8bytes(64/8=4字节)
规律自己可以看懂了吧
short int 是 int 的一半
char型在任何CPU都是1字节
小魔菇
2010-10-18
打赏
举报
回复
[Quote=引用 9 楼 linwhwylb 的回复:]
跟编译器的关系最大,跟硬件的关系不大。
[/Quote]
CPU不是硬件?
Linux-Torvalds
2010-10-18
打赏
举报
回复
跟编译器的关系最大,跟硬件的关系不大。
wizard_tiger
2010-10-18
打赏
举报
回复
不知是否有关不过好像
在VC中int默认为long int占4个字节
在TC中int默认为short int占2个字节
kingstarer
2010-10-18
打赏
举报
回复
跟编译器有关
编译器用多少位来表示int 取值范围就是多大
你可以用sizeof(int)来获取int类型有多少位
现在编译器(VS gcc)一般是32位,以前的编译器(TC)一般是16位
wasx1
2010-10-18
打赏
举报
回复
int的字节长度小于等于long大于等于short就行了。
多数平台上int占4个字节(32位,不是16位!),所以能表示的范围就是2的32次方,表示为数值是-2^(32-1) ~ 2^(32-1) -1 ( ^ 表示成方 )(就是 -2^31 ~ 2^31 - 1, 而不是2^16...)
只有少数平台是32768——32767。
这个可以在机子上测一下,能测出来的。
try325
2010-10-18
打赏
举报
回复
有的地方说是跟系统位数有关,比如32位系统或64位系统等,此处系统位数硬件cpu位数一致吗?
fengbangyue
2010-10-18
打赏
举报
回复
是和硬件有关的 比如32位和16位就不同了
luciferisnotsatan
2010-10-18
打赏
举报
回复
标准头文件limits.h中定义了INT_MIN和INT_MAX这两个宏
zhx00100
2010-10-18
打赏
举报
回复
在你的编译器里 : int i = 0;
i = sizeof(int);
自己测试各种类型的字节长度.32位和16位/8位长度均不同
walkersfaint
2010-10-18
打赏
举报
回复
是跟硬件相关的,至少你在做嵌入式开发的时候,你的每个类型都是需要根据cpu来重新定义长度的
Sou2012
2010-10-18
打赏
举报
回复
和编译器和硬件有关吧。 32位机器上, int 和 long是一样的,4个字节. double 8个字节。
乐CC
2010-10-18
打赏
举报
回复
[Quote=引用 13 楼 ilwmin 的回复:]
可以认为只和编译器有关
[/Quote]
编译器要遵循标准的,只是标准没有说一定要多少,已知的是:
char 一定是1个字节;
long不能小于int;
double至少8个字节,其他的就不知道了
ilwmin
2010-10-18
打赏
举报
回复
可以认为只和编译器有关
大自然的搬運工
2010-10-18
打赏
举报
回复
难道只和编译器有关,无视硬件环境????
小魔菇
2010-10-18
打赏
举报
回复
有关系
一般
字符型量与计算机的CPU字长无关,它只占用一个字节
byte char 是一个字节
整型量所占的长度和计算机的CPU字长有关
char = signed char = unsigned char < short int = unsigned short int <= int = unsigned int <= long int = unsigned long int <= long long int = unsigned long long int
float <= double <= long double
这些长度多少 跟处理器还是编译器有关
1楼说的是32位的情况
千杯不醉-sen
2010-10-18
打赏
举报
回复
不好意思,复制了一下,复制多了
[Quote=引用 1 楼 yangsen600 的回复:]
应该没有关系吧。
vc6.0
byte:1个字节
short:2个字节
long:4个字节
float:4个字节
double:8个字节
[/Quote]
千杯不醉-sen
2010-10-18
打赏
举报
回复
应该没有关系吧。
vc6.0
byte:1个字节
short:2个字节
long:42个字节
float:42个字节
double:82个字节
String转
int
本套视频详细讲解了String如何转换成
int
,这在开发实践中会频繁遇到。
int
类型需要从文本框录入,如学生身高,服务器接收到的是String类型,使用时需要转换成
int
类型。类型转换时需要使用到包装类的方法,8种基本类型都有对应的包装类。
C语言
int
的
取值范围
C语言
int
的
取值范围
我们常常看到
int
取值范围
为-32768~32767,实际上
int
的
取值范围
依赖于计算机系统,在16位机器中,
int
占16位,
取值范围
为前面所说的-32768~32767(-2^16~2^16-1)。而在32位和64位机器中,
int
占32位,
取值范围
为-2147483648~2147483647(-2^32~2^32-1)。ISO/ANSI C规定,
int
类型的最小范围为......
int
的
取值范围
引言 在学C++或者Java的时候应该都会先了解各种基本数据类型的初值和它们的
取值范围
,有些人可能会不太重视这块内容,其实很重要,很多大公司面试的过程中都会问到
int
的
取值范围
,溢出之后会怎么样等问题。 正文 首先来看下在C++和Java中一些基本的数据类型 在c++中的三类基本数据类型 在java中的四类基本数据类型 上图可以看到c++和java之间的基本数据类型的区别,java多了一类...
关于
int
取值范围
的问题
int
的
取值范围
是2个字节或者4个字节。 具体情况如下: 1.如果电脑为16位系统,则
int
为16位,两个字节。 2.如果电脑为32或者64位系统,则
int
为32位,四个字节。 所以这年头一般
int
都是32位,数值范围为-2147483648~2147483647(-2^32~2^32-1),也就是21亿左右。 根据评论区“宇宙军团”的补充: 32位无符号整数...
c语言
int
16位数据范围,c语言中
int
取值范围
为16位指的是什么16位
1.c语言中
int
取值范围
为16位指的是什么16位计算机用二进制表示数值,最小单位就是位(bit),可以储存0或1,16位就是有16个储存0或1的位,其中左边第一位是符号位,0代表+、1代表-。2.当中16位与-32768~+32767又有什么关系?这里的-32768~+32767是指用16位来储存一个
int
值的
取值范围
。
int
是
int
eger(整数)的缩写,
int
类型的值必须是整数,可以是正整...
C语言
69,381
社区成员
243,073
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章