关于int的取值范围

发布网友 发布时间:2022-04-16 19:00

我来回答

9个回答

懂视网 时间:2022-04-16 23:22

int的意思是基本整型,计算取值范围:

  

  1、当字节数为2时,取值范围为-32768到32767。

  

  2、当字节数为4时,取值范围为负的2的31次方,到2的31次方减1。

  

  nt类型在内存中占用了4个字节,也就是32位。int类型是有符号的,因此,32位并不会全部用来存储数据,使用最高位来存储符号,最高位是0,提示数据是正数,最高位是1,表示数据是负数,使用其他的31位来存储数据。C语言没有规定各种整数类型的表示范围,也就是说,没有规定各种整数的二进制编码长度,对于int和long,只规定了long类型的表示范围不小于int,但也允许它们的表示范围相同。具体C语言会对整型和长整型规定表示方式和表示范围。

  

  整数(int类型的常量)有几种书写形式,程序中的整数一般采用十进制写法。用十进制方式写出的一个整数就是普通数字字符组成的一个连续序列,其中不能有空格、换行或其他字符。C语言规定十进制表示的数字不能是0,除非要写的整数本身就是0。

热心网友 时间:2022-04-16 20:30

int是一种数据类型,在编程语言C中,是用于定义整数类型变量的标识符。在一般的电脑中,int占用4字节,32比特,数据范围为-21474838~21474837[-2^31~2^31-1]。在微型机中,int占用2字节,16比特,数据范围为-32768~32767[-2^15~2^15-1]。

扩展资料:

如果编写者指定一个数超出了 int的范围,将会被解释为 float。如果float超出了 int的范围,则结果不确定,因为没有足够的精度使float给出一个确切的整数结果。在此情况下没有警告,甚至没有任何通知。

要明示地将一个值转换为 int,用 (int) 或 (integer) 强制转换。不过大多数情况下都不需要强制转换,因为当运算符,函数或流程控制需要一个 int参数时,值会自动转换。

热心网友 时间:2022-04-16 21:48

C语言的int类型与开发环境平台有关,可能是16位(2^16),也可能是32位(2^32),估计现在大多数开发环境都是用32位的,所以范围远远超出65535,可达到4294967296,所以你的程序可能可以运行

热心网友 时间:2022-04-16 23:22

C语言中int的取值范围为:-21474838 ~ 21474837
解释如下:
int类型在C语言中占4个字节,即32个二进制位。
当表示正数时,最高位为符号位(符号位为0),最大的正数是 0111 1111 1111 1111 1111 1111 1111 1111 即2^31 -1 = 21474837
当表示负数时,最高位为符号位(符号位为1),最小的负数是 1000 0000 0000 0000 0000 0000 0000 0000 而在计算机中是以补码的形式存储的,C语言规定 1000 0000 0000 0000 0000 0000 0000 0000 的补码为-21474838
所以C语言中int的取值范围为:-21474838~21474837

热心网友 时间:2022-04-17 01:14

int的取值范围和机器的字数是有关系的,如果是32位的机器,则inti的取值范围为-2^31 - 2^31-1.如果是位机器的话就是-2^63 - 2^63-1.

热心网友 时间:2022-04-17 03:22

Mark~~一下。。

unsigned int 0~4294967295
int -21474838~21474837
unsigned long 0~4294967295
long -21474838~21474837
long long的最大值:9223372036854775807
long long的最小值:-9223372036854775808
unsigned long long的最大值:1844674407370955161
__int的最大值:9223372036854775807
__int的最小值:-9223372036854775808
unsigned __int的最大值:18446744073709551615

资料来源:CSDN
http://blog.csdn.net/niuox/article/details/8231945

热心网友 时间:2022-04-17 05:46

不同的编译器int的长度不同,各种数据类型的长度也不一定相通
16位编译器int=short int=2字节
32位编辑器int=log int=4字节

具体编写一个程序输出各种类型占用字节数就知道了
printf("int %d\n",sizeof(int));

热心网友 时间:2022-04-17 08:28

你应该是用vs系列的编译器吧
微软把int类型分配了4个字节
就是int的范围是21474837~-21474838所以 可以执行

热心网友 时间:2022-04-17 11:26

-32768 ~ 32767

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com