JAVA各种类型各占多少字节,多少位
在Java中一共有8种基本数据类型,其中有4种整型,2种浮点类型,1种用于表示Unicode编码的字符单元的字符类型和1种用于表示真值的boolean类型。(一个字节等于8个bit)int 类型占32个字节; 4 位;
short 类型占16个字节; 2位;
long 类型占64个字节; 8位;
float 类型占32个字节; 4位;
double 类型占64个字节; 8位;
char 类型占16个字节; 2位;
boolean类型占8个字节; 1位;
byte 类型占8个字节; 1位;
字节定义:
字节是计算机信息技术用于计量存储容量的一种计量单位,也表示一些计算机编程语言中的数据类型和语言字符。1个字节等于8位二进制。
java中“long”类型占多少字节?
long 8个字节
1、“字节”是byte,“位”是bit ;
2、 1 byte = 8 bit ;
3、char 在java中是2个字节。java采用unicode,2个字节(16位)来表示一个字符
short 2个字节;int 4个字节;long 8个字节
Java一共有8种基本数据类型(原始数据类型):
类型 存储要求 范围(包含) 默认值 包装类
整 int 4字节(32位) -231~ 231-1 0 Integer
数 short 2字节(16位) -215~215-1 0 Short
类 long 8字节(64位) -263~263-1 0 Long
型 byte 1字节(8位) -27~27-1 0 Byte
浮点 float 4字节(32位) -3.4e+38 ~ 3.4e+38 0.0f Float
类型 double 8字节(64位) -1.7e+308 ~ 1.7e+308 0 Double
字符 char 2字节(16位) u0000~uFFFF(‘’~‘?’) ‘0’ Character
(0~216-1(65535))
布尔 boolean 1/8字节(1位) true, false FALSE Boolean
Sql中类型占多少字节
int 从 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的整型数据(所有数字)。 smallint 从 -2^15 (-32,768) 到 2^15 - 1 (32,767) 的整数数据。 tinyint 从 0 到 255 的整数数据。 bit bit 1 或 0 的整数数据。 decimal 和 numeric decimal 从 -10^38 +1 到 10^38 –1 的固定精度和小数位的数字数据。 numeric 功能上等同于 decimal。 money 和 smallmoney money 货币数据值介于 -2^63 (-922,337,203,685,477.5808) 与 2^63 - 1 (+922,337,203,685,477.5807) 之间,精确到货币单位的千分之十。 smallmoney 货币数据值介于 -214,748.3648 与 +214,748.3647 之间,精确到货币单位的千分之十。 近似数字 float 从 -1.79E + 308 到 1.79E + 308 的浮点精度数字。 real 从 -3.40E + 38 到 3.40E + 38 的浮点精度数字。 datetime 和 smalldatetime datetime 从 1753 年 1 月 1 日到 9999 年 12 月 31 日的日期和时间数据,精确到百分之三秒(或 3.33 毫秒)。 smalldatetime 从 1900 年 1 月 1 日到 2079 年 6 月 6 日的日期和时间数据,精确到分钟。 字符串 char 固定长度的非 Unicode 字符数据,最大长度为 8,000 个字符。 varchar 可变长度的非 Unicode 数据,最长为 8,000 个字符。 text 可变长度的非 Unicode 数据,最大长度为 2^31 - 1 (2,147,483,647) 个字符。 Unicode 字符串 nchar 固定长度的 Unicode 数据,最大长度为 4,000 个字符。 nvarchar 可变长度 Unicode 数据,其最大长度为 4,000 字符。sysname 是系统提供用户定义的数据类型,在功能上等同于 nvarchar(128),用于引用数据库对象名。 ntext 可变长度 Unicode 数据,其最大长度为 2^30 - 1 (1,073,741,823) 个字符。 二进制字符串 binary 固定长度的二进制数据,其最大长度为 8,000 个字节。 varbinary 可变长度的二进制数据,其最大长度为 8,000 个字节。 image 可变长度的二进制数据,其最大长度为 2^31 - 1 (2,147,483,647) 个字节。 其它数据类型 cursor 游标的引用。 sql_variant 一种存储 SQL Server 支持的各种数据类型(text、ntext、timestamp 和 sql_variant 除外)值的数据类型。 table 一种特殊的数据类型,存储供以后处理的结果集。 timestamp 数据库范围的唯一数字,每次更新行时也进行更新。 uniqueidentifier 全局唯一标识符 (GUID)。
C++中的变量类型都有哪些,各占多少字节?
变量的三要素:类型,符号,数值。
int num = 3;
int* a = num; (错误,因为变量a的类型是int*,而num的类型是int)。
int* a = #(正确,变量类型一样)。
*a = #(错误,解释跟上面那种错误一样的,变量类型不一致)。
指针定义时的*跟(*a)中的*意义是不一样的,定义中的*只是为了跟不带*类型定义区分开,
比如 int*与int,而(*a)中的*就是一个取内容的运算符。指针类型指的就是指针所指向的变量的类型,
int*定义的是一个地址变量,int定义的是一个整数变量。
指针的运算
赋值运算
int* a = #
char* a = "cbh ibican";
char* a;
a = "cbh ibican";
自增自减运算
a++,a--;
指针相减
int* a;
int num[10],temp;
a = num +3;
temp = a - num;
指针,地址运算
int *ip1,*ip2;
ip1 = ip2 + 1;
ip1 - ip2;(指针运算) 1
(int)ip1 - (int)ip2;(地址运算) 4
还有两类特别的指针,数组指针与函数指针,需明确的是这两类是指针,不是数组或函数
int (*a)[10]; (指针a指向一维数组,元素个数是10个,类型是int)
int (*a)(); (指针a指向函数,且此函数的参数为空的)
数据类型及占用的字节
bool 1
char 1
short 2
short int 2
signed short 2
unsigned short 2
int 4
long int 4
signed int 4
unsigned int(unsigned) 4
long 4
unsigned long 4
float 4
double 8
void* 4 (void* 可表示为任意的指针)(char*,int*,float*,double*)
enum 4
32位操作系统变量所占的字节
char a[]="hello";
char b[100];
char *p=a;
类型 字节长度
sizeof(a) 6
sizeof(b) 100
sizeof(p) 4
数据类型的转换
自动转换:这种转换是从低类型转换到高类型,不会有精度损失。也称隐式的保值转换。
int --> unsigned --> long --> double --> long double
^ ^
short float
强制转换:分为显示强制转换与隐式强制转换,我主要解释强制转换。
显示强制类型转换一般用运算符来实现,通常是将高类型转换为低类型,这是可能会出现精度损失,且是非保值转换,但强制转换是暂时的,不被强制转换时会回到原来的类型。
在C语言中各种数据类型各占多少位?
(一)32位平台:
分为有符号型与无符号型。
有符号型:
short 在内存中占两个字节,范围为-2^15~(2^15-1)
int 在内存中占四个字节,范围为-2^31~(2^31-1)
long在内存中占四个字节,范围为-2^31~2^31-1
无符号型:最高位不表示符号位
unsigned short 在内存中占两个字节,范围为0~2^16-1
unsigned int 在内存中占四个字节,范围为0~2^32-1
unsigned long在内存中占四个字节,范围为0~2^32-1
实型变量:
分单精度 float 和双精度 double 两种形式:
float:占四个字节,提供7~8位有效数字。
double: 占八个字节,提供15~16位有效数字。
(二)16位平台:
1)整型(基本型):类型说明符为int,在内存中占2个字节。
2)短整型:类型说明符为short int或short。所占字节和取值范围均与整型(基本型)相同。
3)长整型:类型说明符为long int或long,在内存中占4个字节。
无符号型:类型说明符为unsigned。
无符号型又可与上述三种类型匹配而构成:
各种无符号类型量所占的内存空间字节数与相应的有符号类型量相同。但由于省去了符号位,故不能表示负数。
实型变量:
分为单精度(float型)、双精度(double型)和长双精度(long double型)三类。
单精度型占4个字节(32位)内存空间,其数值范围为3.4E-38~3.4E+38,只能提供七位有效数字。
双精度型占8 个字节(64位)内存空间,其数值范围为1.7E-308~1.7E+308,可提供16位有效数字。
长双精度型16 个字节(128位)内存空间,可提供18-19位有效数字。
java new object 占多少字节
Object o=new Object():
在java中空对象占八个字节,对象的引用占四个字节。所以上面那条语句所占的空间是4byte+8byte=12byte.java中的内存是以8的倍数来分配的,所以分配的内存是16byte.
举个例子:
Class O{
int i;
byte j;
String s;
}
其所占内存的大小是空对象(8)+int(4)+byte(1)+String引用(4)=17byte,因要是8的整数倍,所以其占大小为24byte.
当然,如果类里有其他对象的话,也要把其他对象的空间算进去。
其实这个在javaeye的电子期刊上有。
在visual c 6和turbo c平台上,整型各占多少字节?
整形2个字节,长整型4个字节
点击查看隐藏内容