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的类型声明字符为和号(&)。
参考技术AC语言中的长整型和整型的最大值和最小值,在标准库头文件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语言中长整型和整型的范围的主要内容,如果未能解决你的问题,请参考以下文章