c语言中长整型和整型的范围

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言中长整型和整型的范围相关的知识,希望对你有一定的参考价值。

在vc++6.0中,长整形和整型都占用4个字节,但为什么表示的数字范围却不一样呢?跪求~~~~~~~~~~~~~

1、c语言中长整型常量:的数值范围最小是十进制的-2147483647~+2147483647,在计算机中最少占用4个字节。字节长度跟操作系统和编译器有关,longint长度至少32位,而64位类Unix系统为64位。

2、c语言中整型常量:是通常的整数,包括正整数、负整数和0,其数据类型显然是整型。整型常量内存大小和数值范围取决于编译器。

扩展资料

c语言中VB中的长整型

VB中整数类型有两种:Integer和Long,都是有符号的整数

Integer变量存储为16位(2个字节)的数值形式,其范围在-32,768至32,767之间。Integer的类型声明字符是百分比符号(%)。

Long(长整型)变量存储为32位(4个字节)有符号的数值形式,其范围从-2,147,483,648到2,147,483,647(约为21亿)。Long的类型声明字符为和号(&)。

参考技术A

  C语言中的长整型和整型的最大值和最小值,在标准库头文件limits.h中以宏的形式定义。用户可以直接查看或者使用。

  INT_MAX:int类型的最大值

  INT_MIN:int类型的最小值

  UINT_MAX:unsigned int类型的最大值

  LONG_MAX:长整型的最大值

  LONG_MIN:长整型的最小值

  ULONG_MAX:长整型的最小值

  示例如下:

   #include <stdio.h>
  #include <limits.h>
  int main()
  
  printf("INT_MAX:%d\\nUINT_MAX:%u\\nLONG_MAX:%d\\nULONG_MAX:%u\\n", INT_MAX, UINT_MAX, LONG_MAX,ULONG_MAX);
  printf("INT_MIN:%d\\nLONG_MIN:%d\\n",INT_MIN, LONG_MIN);
  return 0;
  

     

参考技术B C语言中,只是能够明确sizeof(short)<sizeof(long),sizeof(short)≤sizeof(int)≤sizeof(long)而已,至于的int具体是16位还是32位的,取决于平台和语言实现(编译器)。
在VC++(x86)等32位环境中,int和long都表示32位有符号整数,范围是一样的。
====
[原创回答团]

参考资料:原创

本回答被提问者和网友采纳
参考技术C int 和long int 语法上 有区别

正规写法:
long int -- 32 位有符号整型
short int -- 16 位有符号整型

编译器 允许的 简略写法:
long -- 32 位有符号整型
short -- 16 位有符号整型

如果写成 int, 那么是不确定 写法,长度由编译器自行规定
TC int -- 16 位有符号整型, 即 short int
VC++ int -- 32 位有符号整型, 即 long int

输入语句,long int 用 %ld ,short int 用 %d
编译器 也许通融 %d 既可读 long 也可读 short。

附加MSDN解释:
int
32-bit integer. On 16-bit platforms, cannot appear in remote functions without a size qualifier such as short, small, long or hyper.

long
32-bit integer.
参考技术D C语言中的长整型和整型的最大值和最小值,在标准库头文件limits.h中以宏的形式定义。用户可以直接查看或者使用。
INT_MAX:int类型的最大值
INT_MIN:int类型的最小值
UINT_MAX:unsigned
int类型的最大值
LONG_MAX:长整型的最大值
LONG_MIN:

c语言 关于字符数组和整型数组清零

我现在有str[1000][50]的一个二维char数组和一个int型的times[1000],现在里面有数据,我现在想把他们都置零,有没有什么直接可以用的函数?

C语言数组和整型数组清空方法,示例:

1、整数数组清零

函数:void bzero(void *s, int n)

头文件: #include <string.h>

功能说明:将字符串s的前n个字符置为0,一般n取sizeof(s),将整块空间清零;

举例:char str[10];    bzero(str, sizeof(str));      也可以将整个结构体清零;

2、数组清空

使用时间:94s

for( k = 0 ; k <10000 ; k++ )

for( i = 0 ; i<MAX; i++ )

for( j = 0;j < MAX; j++ )

a[i][j] = 0;

扩展资料

C语言结构体初始化

1、定义:

struct InitMember

int first;

double second;

char* third;

float four;

;

2、定义时赋值:

struct InitMember test = -10,3.141590,"method one",0.25;

参考技术A

可用memset函数,效率比较高。


memset的定义为:

void *memset(void *s, char ch, unsigned n);

其可将s所指向的某一块内存中的每个字节的内容全部设置为ch指定的ASCII值, 块的大小由第三个参数指定

例如对一长度为1000的数组int num[1000],用法为:

memset(num, 0, sizeof(int)*1000);

可以将这段所有的内存置为0,即'\\0'。

而对于多维数组char str[1000][50],因为元素在内存上是线性排列的,用法为:

memset(str, 0, sizeof(char)*1000*50);

参考技术B 可以直接用memset的吧:
memset((char *)str, 0, 1000 * 50);
memset(times, 0, sizeof(int) * 1000);本回答被提问者采纳
参考技术C 使用memset清零效率比较高。你可以试试:

memset(str, 0, sizeof(char)*1000*50);

memset(times, 0, sizeof(int)*1000);
参考技术D 用循环完成啊或是库函数memset

以上是关于c语言中长整型和整型的范围的主要内容,如果未能解决你的问题,请参考以下文章

c语言中啥算是实型数据?举例子!

c语言 关于字符数组和整型数组清零

C语言的内存分配

c语言中实型变量

C语言的内存分配

c语言中怎样给整型和字符型赋空值(NULL)