int函数

int函数

计算机编程语言函数
在计算机科学中, int()函数是整数数据类型的数据 ,是表示某种数学整数 范围的数据类型 。 积分数据类型可以具有不同的大小,并且可以允许或不允许包含负值。 整数通常在计算机中表示为一组二进制数字(位)。 分组的大小各不相同,因此可用的整数大小集在不同类型的计算机之间有所不同。 计算机硬件(包括虚拟机 )几乎总是提供一种将处理器寄存器或存储器地址表示为整数的方法[1]。
  • 中文名:int函数
  • 外文名:int()
  • 适用领域:
  • 所属学科:
  • 表 示:整型变量
  • 类 型:数据
  • 含 义:将数值向下取整为最接近的整数
  • 语 法:INT(number)
  • 说 明:int函数可用floor函数代替

价值和代表

具有整数类型的项的值是它对应的数学整数。积分类型可以是无符号的(只能表示非负整数)或有符号(也能表示负整数)。

整数值通常在程序的源代码中指定为可选的前缀为+或 - 的数字序列。一些编程语言允许其他符号,例如十六进制或八进制。一些编程语言也允许数字组分隔符。

此数据的内部表示形式是值存储在计算机内存中的方式。与数学整数不同,计算机中的典型数据具有一些最小和最大可能值。

正整数的最常见表示是使用二进制数字系统的一串位。存储位的存储器字节的顺序是变化的;看到字节序。整数类型的宽度或精度是其表示中的位数。具有n位的整数类型可以编码2数字;例如,无符号类型通常表示非负值0到2-1。有时使用对位模式的整数值的其他编码,例如二进制编码的十进制或格雷码,或者诸如ASCII的打印字符码。

在二进制计算系统中有四种众所周知的方式来表示有符号数。最常见的是二进制补码,它允许带有n位的有符号整数类型表示从-2到2-1的数字。二进制补码算法很方便,因为表示和值之间存在完美的一对一对应关系(特别是没有单独的+0和-0),并且因为加法,减法和乘法不需要区分有符号和无符号类型。其他可能性包括偏移二进制,符号幅度和1'补码。

一些计算机语言以与机器无关的方式定义整数大小;其他人根据底层处理器字大小有不同的定义。并非所有语言实现都定义所有整数大小的变量,并且在特定实现中定义的大小甚至可能不是不同的。一种编程语言中的整数可以是不同语言或不同处理器上的不同大小。

类型

名称

用途

C/C ++

C#

SQL

4

蚕食,半食品

二进制编码的十进制,单个十进制数字表示

8

字节,八位字节

ASCII字符,UTF-8字符编码中的代码单元

16

半字,字,短

UCS-2字符,UTF-16字符编码中的代码单元

32

单词,长,双字,长字,整数

UTF-32字符,带alpha的真彩色,FourCC,32位计算指针

64

word,doubleword,longword,long long,quad,quadword,qword,int64

时间(自Unix纪元以来的毫秒数),64位计算中的指针

128

八字,双四字

复杂的科学计算,

IPv6地址,GUID

ñ

n位整数

(一般情况)

^并非所有SQL方言都具有无符号数据类型。

C / C ++中char,short,int,long和long long的大小取决于语言的实现。

Delphi的整数和红衣主教的大小无法保证,因平台而异;通常分别定义为LongInt和LongWord。

^Java不直接支持对char类型的算术。结果必须从int转换回char。

不同的CPU支持不同的整数数据类型。通常,硬件将支持有符号和无符号类型,但只支持一小组固定宽度。

上表列出了常见处理器在硬件中支持的整体类型宽度。高级编程语言提供了更多可能性。通常有一个“双宽度”整数类型,其位数是最大硬件支持类型的两倍。许多语言也有位字段类型(指定的位数,通常限制为小于最大硬件支持的宽度)和范围类型(只能表示指定范围内的整数)。

一些语言,如Lisp,Smalltalk,REXX,Haskell,Python和Perl 6支持任意精度整数(也称为无限精度整数或bignums)。其他不支持此概念作为顶级构造的语言可能有可用于使用较小变量数组表示非常大的数字的库,例如Java的BigInteger类或Perl 5的“bigint”包。它们使用尽可能多的计算机内存来存储数字;但是,计算机只有有限的存储量,因此它们也只能表示数学整数的有限子集。这些方案支持非常大的数字,例如,一千字节的内存可用于存储长达2466个十进制数字的数字。

布尔或标志类型是一种只能表示两个值的类型:0和1,通常分别用false和true标识。这种类型可以使用单个位存储在存储器中,但为了方便寻址和访问速度,通常给出一个完整的字节。

四位数被称为半字节(当吃东西时,小于咬一口)或者nybble(在字节字节的形式上是双关语)。一个半字节对应于十六进制中的一个数字,并且以二进制编码的十进制数保存一个数字或符号代码。

字节和八位字节

术语字节最初意味着'最小的可寻址存储单元'。过去,全部使用了5,6,7,8和9位字节。还有一些计算机可以处理单个位(“位寻址机器”),或者只能处理16位或32位数量(“字寻址机器”)。通常不使用术语字节与位和字寻址机器相关联。

术语八位字节总是指8位数量。它主要用于计算机网络领域,其中具有不同字节宽度的计算机可能必须进行通信。

在现代使用中,字节几乎总是意味着8位,因为所有其他尺寸都已被废弃;因此字节已成为八位字节的同义词。

Word

术语“字”用于由特定体系结构的处理器同时处理的一小组位。因此,字的大小是CPU特定的。已经使用了许多不同的字大小,包括6,8,14,16,18,24,32,36,39,40,48,60和64位。由于它是体系结构的,因此字的大小通常由系列中的第一个CPU设置,而不是后来兼容的CPU的特性。从单词派生的术语的含义,例如长字,双字,四字和半字,也随CPU和OS而变化。

实际上所有新的桌面处理器都能够使用64位字,尽管8位和16位字大小的嵌入式处理器仍然很常见。36位字长在计算机早期很常见。

软件不可移植性的一个重要原因是错误地假设所有计算机具有与程序员使用的计算机相同的字大小。例如,如果使用C语言的程序员错误地将int用于存储大于2-1的值的变量声明为int,则程序将在具有16位整数的计算机上失败。该变量应该被声明为long,在任何计算机上至少有32位。程序员也可能错误地认为指针可以转换为整数而不会丢失信息,这可能适用于(某些)32位计算机,但在具有64位指针和32位整数的64位计算机上会失败。

short

与同一台机器上的标准整数相比,短整数可以表示可能占用较少存储空间的整数,而具有较小的范围。

在C中,用short表示。它必须至少为16位,并且通常小于标准整数,但这不是必需的。 在Java中,short总是一个16位整数。在Windows API中,数据类型SHORT在所有计算机上定义为16位有符号整数。

常见的短整数大小编辑

编程语言

平台

数据类型名称

C和C ++

常见的实现

未签约的短片

C#

.NET CLR / CTS

USHORT

Java的

Java平台

Long

长整数可以表示整数,其整数范围大于或等于同一台机器上标准整数的整数。

在C中,它表示为long。它必须至少为32位,并且可以或可以不大于标准整数。

常见的长整数大小编辑

编程语言

平台

数据类型名称

CISO / ANSI C99

Unix,16/32位系统

Windows,16/32/64位系统

CISO / ANSI C99

Unix,

64位系统

C ++ISO / ANSI

Unix,Windows,

16/32位系统

C ++ / CLI

Unix,Windows,

16/32位系统

VB

视窗

VBA

Windows,Mac OS X.

SQL Server

视窗

BigInt有

C#/VB.NET

Microsoft .NET

long或Int64

Java的

Java平台

帕斯卡尔

Windows,UNIX

Int64的

在C编程语言的C99版本和C ++的C ++ 11版本中,支持long long类型,它具有标准long的最小容量的两倍。要求C代码符合以前的C ++标准C ++ 03的编译器不支持这种类型,因为C ++ 03中不存在long long类型。对于符合ANSI / ISO标准的编译器,指定范围的最低要求,即 - (2-1)至2-1(有符号)和0至2-1(无符号),必须得到满足;但是,允许扩展此范围。在平台之间交换代码和数据或进行直接硬件访问时,这可能是一个问题。因此,有几组标题提供与平台无关的精确宽度类型。C标准库提供了stdint.h;这是在C99和C ++ 11中引入的。

相关词条

相关搜索

其它词条