iOS下int long longlong的取值范围

本文详细介绍了32位与64位系统下各种整型数据类型的取值范围,包括unsigned int, int, unsigned long, long, long long等,并提供了NSObjCRuntime.h文件中对NSInteger和NSUInteger的定义。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

作者:Love@YR 

请尊重原创,谢谢!


32bit下:

unsigned int 0~4294967295  
int -2147483648~2147483647 
unsigned long 和int一样
long 和int一样

long long的最大值:9223372036854775807
long long的最小值:-9223372036854775808
unsigned long long的最大值:1844674407370955161
__int64的最大值:9223372036854775807
__int64的最小值:-9223372036854775808
unsigned __int64的最大值:18446744073709551615



64bit下

unsigned int 0~4294967295  
int -2147483648~2147483647 
unsigned long 和 unsigned long long一样
long 和long long一样

long long的最大值:9223372036854775807
long long的最小值:-9223372036854775808
unsigned long long的最大值:1844674407370955161
__int64的最大值:9223372036854775807
__int64的最小值:-9223372036854775808
unsigned __int64的最大值:18446744073709551615


NSObjCRuntime.h文件中:

#ifndef _OBJC_NSOBJCRUNTIME_H_

#define _OBJC_NSOBJCRUNTIME_H_

#include <TargetConditionals.h>

#include <objc/objc.h>

#if __LP64__ || (TARGET_OS_EMBEDDED && !TARGET_OS_IPHONE) || TARGET_OS_WIN32 || NS_BUILD_32_LIKE_64

typedef long NSInteger;

typedef unsigned long NSUInteger;//64bitNSInteger的取值范围就是long==long long

#else

typedef int NSInteger;

typedef unsigned int NSUInteger;//32bit下NSInteger的取值范围就是int==long

#endif

#define NSIntegerMax    LONG_MAX

#define NSIntegerMin    LONG_MIN

#define NSUIntegerMax   ULONG_MAX

#define NSINTEGER_DEFINED 1

#endif


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值