-
2020-10-29 14:46:59
整型:byte(字节型,占1字节)、short(短整型,占2字节)、int(整型,占4字节)、long(长整型,占8字节)
一般整型取值范围是分为有符号取值和无符号取值两种,有符号取值就把第一位取为符号位,无符号取值默认为大于等于0的整数。 例如:int 占4字节,一字节是8位,总共就是32位,它的有符号取值范围就是-2^31^ ~ 2^31^-1 无符号取值为0 ~ 2^32^-1
浮点型:float(单精度浮点数,占4字节)、double(双精度浮点数,占8字节)
注:Java浮点数默认类型是double,float浮点数后缀为F(或f)
布尔型:boolean(布尔型),只有true 和false两个取值
字符型:char(字符型,占2个字节)
注:因字符类型表示Unicode字符,所以一个字符占2字节
更多相关内容 -
C语言各数据类型所占字节数和取值范围
2021-04-07 10:05:10C语言中各数据类型所占字节数和取值范围 注:每种数据类型的取值范围都是与编译器相关的,以下为数据Visual C++32位环境下的参数,如想清楚了解自己所用编译器对各数据类型所占字节,可以用sizeof进行检验。也可以...C语言中各数据类型所占字节数和取值范围
注:每种数据类型的取值范围都是与编译器相关的,以下为数据Visual C++32位环境下的参数,如想清楚了解自己所用编译器对各数据类型所占字节,可以用sizeof进行检验。也可以使用limits.h头文件中的INT_MIN,INT_MAX等来查看取值范围- 首先,unsigned 与signed (默认省略)相比,两者能表示的数字个数相同,不同的是unsigned是无符号的意思,所以unsigned修饰的数据都是非负数。
如: char : -128~127
unsigned char : 0~255
因此有符号整数中的最大值的绝对值仅为最大无符号整数的一半。字符型
signed char 1字节 -128~127
unsigned char 1字节 0~255整型(short,int,long,long long)
1.signed short 2字节 -32768~32767 (3*10^4)
unsigned short 2字节 0~65535 (6*10^4)
2. signed int 4字节 -2147483648~2147483647 (2*10^9)
unsigned int 4字节 0~4294967295 (4*10^9)
3. long 4字节 -2147483648~2147483647 (2*10^9)unsigned long 4字节 0~4294967295 (4*10^9)
4.long long 在VC6.0中不支持该类型,但有对应的类型__int64
编译long long 需要支持C99标准的编译器才可以,在C99标准中,long long 通常被定义成64位宽,占8个字节
long long 8字节 -9,223,372,036,854,775,808~9,223,372,036,854,775,807 (9*10^18)
unsigned long long 8字节 0~18,446,744,073,709,551,616(10^19)
在一些编程竞赛中,有时会遇到一些“大数”,已经无法用整型变量来保存了,这种情况下就要选择用数组来保存了。
注:ANSI C对于int 型数据所占内存字节没有明确规定,只是规定其所占内存的字节数不小于short型,但不大于long型所占内存的字节数,(short<=int<=long),通常与程序执行环境的字节相同(int通常代表特定机器中证书的自然长度)。而且大家可以发现,在当今大多数平台上,int型和long型整数的取值范围相同。
(想到这里,你可能会和我一样,想着既然int和long的取值范围,那么long还有什么用呢?原因是早期c编译器定义long int时,long int确实比int还要long,那时的long int 占用4个字节,int 占用2个字节,而且在ANSI C标准中,long型在内存中所占字节数至少和int型一样大,不一定一样相等。)
实数型(float,double,long double)
- float 4字节 -3.4*10^38~3.4*10^38
- double 8字节 -1.7*10^308~1.7*10^308
- long double 8字节 -1.7*10^308~1.7*10^308
看到这里,可能你会想,哎呀,实数型这些的取值范围好大呀,竟然能有10^308这么大的数,其实,浮点数在内存中表示为阶码和尾数两部分,阶码所占的位数决定实数的取值范围:尾数所古的位数决定实数的精度。不同的C编译系统分配给阶码和尾做的存储空间是不同的。因此,在不同的系统下,实数的精度是不同的。在Visual C++中,float型的有效位只有6-7位,double型的有效位只有15-16位,有效位后面的数字都是不精确的。浮点数的极限值和有效位数,是在float.h头文件中定义的(整型数的极限值INT MAX和INT MIN是在limits.h头文件中定义的)
注:由于ANSI C 对每种浮点类型没有明确规定其长度、精度、和数值范围,因此在不同环境下,这三种浮点型的数据表示范围会有所不同。 有的系统使用更多的位来存储小数部分,以达到增加数值有效数字位数、提高数值精度的目的,但相应的表数范围就会缩小。也有的系统使用更多的位存储指数部分,以达到扩大变量值域(即表数范围)的目的,但精度就会降低。
如有错误或遗漏欢迎指出!
-
基本数据类型所占字节数
2018-04-11 10:47:39C标准中并没有具体给出规定那个基本类型应该是多少字节数,具体与机器、OS、编译器有关,比如同样是在32bits的操作系统系,VC++的编译器下int类型为占4个字节;而tuborC下则是2个字节。所以int,long int,short ...C标准中并没有具体给出规定那个基本类型应该是多少字节数,具体与机器、OS、编译器有关,比如同样是在32bits的操作系统系,VC++的编译器下int类型为占4个字节;而tuborC下则是2个字节。
所以int,long int,short int的宽度都可能随编译器而异。但有几条铁定的原则(ANSI/ISO制订的):
sizeof(short int)<=sizeof(int)
sizeof(int)<=sizeof(long int)
short int至少应为16位(2字节)
long int至少应为32位。
下面给出不同位数编译器下的基本数据类型所占的字节数:
16位编译器
char :1个字节
char*(即指针变量): 2个字节
short int : 2个字节
int: 2个字节
unsigned int : 2个字节
float: 4个字节
double: 8个字节
long: 4个字节
long long: 8个字节
unsigned long: 4个字节32位编译器
char :1个字节
char :1个字节
char*(即指针变量): 4个字节(32位的寻址空间是2^32, 即32个bit,也就是4个字节。同理64位编译器)
short int : 2个字节
int: 4个字节
unsigned int : 4个字节
float: 4个字节
double: 8个字节
long: 4个字节
long long: 8个字节
unsigned long: 4个字节
64位编译器
char*(即指针变量): 8个字节
short int : 2个字节
int: 4个字节
unsigned int : 4个字节
float: 4个字节
double: 8个字节
long: 8个字节
long long: 8个字节
unsigned long: 8个字节
--------------------------------------------------------------------------------------------------------------------------------
Java中一共有8种基本数据类型,其中有4种整型,2种浮点类型,1种用于表示Unicode编码的字符单元的字符类型和1种用于表示真值的boolean类型。(一个字节等于8个bit)
1.整型
类型 存储需求 bit数 取值范围 备注
int 4字节 4*8
short 2字节 2*8 -32768~32767
long 8字节 8*8
byte 1字节 1*8 -128~127
2.浮点型
类型 存储需求 bit数 取值范围 备注
float 4字节 4*8 float类型的数值有一个后缀F(例如:3.14F)
double 8字节 8*8 没有后缀F的浮点数值(如3.14)默认为double类型
3.char类型
类型 存储需求 bit数 取值范围 备注
char 2字节 2*8
4.boolean类型
类型 存储需求 bit数 取值范围 备注
boolean 1字节 1*8 false、true补充:Java有一个能够表示任意精度的算书包,通常称为“大数值”(big number)。虽然被称为大数值,但它并不是一种Java类型,而是一个Java对象。
如果基本的整数和浮点数精度不能够满足需求,那么可以使用java.math包中的两个很有用的类:BigIntegerBigDecimal(Android SDK中也包含了java.math包以及这两个类)这两个类可以处理包含任意长度数字序列的数值。BigInteger类实现了任意精度的整数运算,BigDecimal实现了任意精度的浮点数运算。具体的用法可以参见Java API。
-
C语言基本数据类型(所占字节数)
2020-11-07 09:52:50一 C语言基本数据类型 short、int、long、char、float、double 这六个关键字代表C 语言里的六种基本数据类型。 在不同的系统上,这些类型占据的字节长度是不同的: **16位编译器: char/unsigned char :1字节 char ...一 C语言基本数据类型
short、int、long、char、float、double 这六个关键字代表C 语言里的六种基本数据类型。
在不同的系统上,这些类型占据的字节长度是不同的:
**16位编译器:char/unsigned char :1字节
char :2字节
short int:2字节
int/unsigned int:2字节
long int:4字节
float:4字节
double:8字节*32位编译器:
*char/unsigned char :1字节
char :4字节
short int:2字节
int/unsigned int:4字节
long int:4字节
float:4字节
double:8字节
long long:8字节
long double:12字节64位编译器:
char/unsigned char :1字节
char *:8字节
short int:2字节
int/unsigned int:4字节
long int:8字节
float:4字节
double:8字节
long long:8字节
long double:16字节
具体可以用sizeof测试一下即可。二 变量的命名规则
1、命名应当直观且可以拼读,可望文知意,便于记忆和阅读。
标识符最好采用英文单词或其组合,不允许使用拼音。程序中的英文单词一般不要太复杂,用词应当准确。2、命名的长度应当符合“min-length && max-information”原则。C 是一种简洁的语言, 命名也应该是简洁的。例如变量名MaxVal 就比MaxValueUntilOverflow 好用。标识符的长度一般不要过长,较长的单词可通过去掉“元音”形成缩写。
另外,英文词尽量不缩写,特别是非常用专业名词,如果有缩写,在同一系统中对同一单词必须使用相同的表示法,并且注明其意思。3、当标识符由多个词组成时,每个词的第一个字母大写,其余全部小写。比如:
int CurrentVal;这样的名字看起来比较清晰,远比一长串字符好得多。4、尽量避免名字中出现数字编号,如Value1,Value2 等,除非逻辑上的确需要编号。比如驱动开发时为管脚命名,非编号名字反而不好。初学者总是喜欢用带编号的变量名或函数名,这样子看上去很简单方便,但其实是一颗颗定时炸弹。这个习惯初学者一定要改过来。
5、对在多个文件之间共同使用的全局变量或函数要加范围限定符(建议使用模块名(缩写)作为范围限定符),如 GUI_ ,etc标识符的命名规则
6、标识符名分为两部分:规范标识符前缀(后缀) + 含义标识。非全局变量可以不用使用范围限定符前缀。
7、作用域前缀命名规则。
8、数据类型前缀命名规则。
9、含义标识命名规则,变量命名使用名词性词组,函数命名使用动词性词组。例如:
变量含义标识符构成:目标词+ 动词(的过去分词)+ [状语] + [目的地];
函数含义标识符构成:动词(一般现时)+目标词+[状语]+[目的地];10、程序中不得出现仅靠大小写区分的相似的标识符。例如:
int x, X; 变量x 与X 容易混淆
void foo(int x); 函数foo 与FOO 容易混淆
void FOO(float x);
这里还有一个要特别注意的就是1(数字1)和l(小写字母l)之间,0(数字0)和o(小写字母o)之间的区别。这两对真是很难区分的,我曾经的一个同事就被这个问题折腾了一次。11、一个函数名禁止被用于其它之处。例如:
#include “c_standards.h”
void foo(int p_1)
{
int x = p_1;
}
void static_p(void)
{
int foo = 1u;
}12、所有宏定义、枚举常数、只读变量全用大写字母命名,用下划线分割单词。例如:
const int MAX_LENGTH = 100; //这不是常量,而是一个只读变量,具体请往后看
#define FILE_PATH “/usr/tmp”13、考虑到习惯性问题,局部变量中可采用通用的命名方式,仅限于n、i、j 等作为循环变量使用。
一定不要写出如下这样的代码:
int p;
char i;
int c;
char * a;
一般来说习惯上用n,m,i,j,k 等表示int 类型的变量;c,ch 等表示字符类型变量;a 等表示数组;p 等表示指针。当然这仅仅是一般习惯,除了i,j,k 等可以用来表示循环变量外,别的字符变量名尽量不要使用。
14、定义变量的同时千万千万别忘了初始化。定义变量时编译器并不一定清空了这块内存,它的值可能是无效的数据。这个问题在内存管理会有非常详细的讨论。
15、不同类型数据之间的运算要注意精度扩展问题,一般低精度数据将向高精度数据扩展。 -
常见基本数据类型所占字节数
2021-07-18 23:21:14综上,中文字符在编码中占用的字节数一般是2-4个字节。 int,longint,shortint的宽度都可能随编译器而异。但有几条铁定的原则(ANSI/ISO制订的): sizeof(shortint)<=sizeof(int) sizeof(int)<=... -
各数据类型所占字节
2018-07-19 10:07:43不同的数据类型所占字节数不同。在32位处理器和64位处理器下数据类型所占字节数是一样的,不同的是指针类型。 一、32位处理器: char:1个字节 char*p:4个字节 int:4个字节 unsigned int:4个字节 double:8... -
C语言中不同类型数据所占字节数汇总
2021-05-21 00:43:2816位编译器char:1个字节char*:2个字节short int:2个字节int:2个字节unsigned int:2个字节long:4个字节long long:8个字节unsigned long:4个字节float:4个字节double:8个字节32位编译器char:1个字节char*:... -
c++ 各种数据类型 所占字节数
2020-05-18 19:21:20void DataLength() { qDebug() << “type: \t\t” << “size**” << endl; qDebug() <... QString::fromLocal8Bit(“所占字节数:”) <... QString::fromLocal8Bit(“所占字节数:”) < -
sizeof用法 ——各种数据类型所占字节数
2018-08-06 22:19:49#include&lt;stdio.h&gt; void main() { printf("sizeof(1.0L)=%d\n",sizeof(1.0L));//8 long double printf("sizeof(1.0f)=%d\n",sizeof(1.0f));...,si -
Java中8大基本数据类型所占字节以及位数
2021-08-28 21:46:068种类型所占字节和位数和取值范围如下: 类型 占用字节 占用位数 数值长度 byte 1 8 -128~127(-2的7次方到2的7次方-1) short 2 16 -32768~32767(-2的15次方到2的15次方-1) int 4 32 -2的31次方 -
C语言中各类型所占字节数
2021-12-05 21:53:07联合体中占用内存空间最大的字段加上填充字节(对齐字节后所需字节数)。 (2)枚举类型,指一个被命名的整型常数的集合。即枚举类型,本质上是一组常数的集合体,只是这些常数有各自的命名。枚举类型,是一种用户... -
python中不同数据类型所占字节数及Format类型
2019-10-23 22:04:39here -
C 语言 数据类型及所占字节数
2020-04-25 13:53:44四种基本数据类型 1.int 整型 4 2.float 单精度浮点型 4 3.char 字符型 1 4.double 双精度浮点型 8 ...了解某种类型的量在内存中所占的字节数,sizeof运算符就是用于这一目的 程序实例:求各种类... -
C语言各数据类型在内存中占用的字节
2020-06-22 22:38:531、C语言各数据类型在内存中占用的字节由编译器决定,本测试以VS2015的X86模式运行。 2、确定数据类型后,无论变量是多少(不超出范围),都会占用固定的内存大小(由类型决定)。 3、内存的地址和大小以16进制... -
C语言 — 数据类型,基本整型所占字节数
2019-08-28 16:00:05注意!基本整型所占的字节数除了跟操作系统位数有关外,还跟编译器有关,比如说:VC++ int 占据4个四节,但是在 tuborC下则是2个字节 -
Java基本数据类型及所占字节大小
2021-11-11 14:50:39Java基本数据类型及所占字节大小 一、Java基本数据类型 基本数据类型有8种:byte、...二、各数据类型所占字节大小 1个字节8位 计算机的基本单位:bit . 一个bit代表一个0或1 byte:1byte = 8bit 1个字节是8个bi -
java基本数据类型所占字节数
2019-02-11 17:30:411、整型 类型 存储需求 bit数 取值范围 备注 ...1字节 ...2字节 ...4字节 ...8字节 ...每一个字节占8位。你电脑系统应该是 32位系统,这样每个int就是 4个字节 。 其中,一个字节由8个二进制位... -
16/32/64位系统下各种数据类型所占字节的大小
2019-04-11 14:58:10首先强调一点,char, short, float, double在各个系统中字节数都一样 16位系统 32位系统 64位系统 char 1 1 1 short 2 2 2 float 4 4 4 double 8 ... -
C++中的数据类型及其所占字节
2021-07-05 22:38:441.整型。 包括: ...long double(长精度浮点类型),占8字节; 实型用来表示实数,相对于整型。 3.字符型,即char型。 char(字符型),占1字节; 用来表示各种字符,与ASCII码表一一对应。 4.bool类型 -
各种数据类型占字节数
2013-10-25 16:49:08int占多少位的一点看法 int的字节长度是由CPU和操作系统编译器共同决定的,一般情况下,主要是由操作系统决定,比如,你在64位AMD的机器上安装的是32位操作系统,那么,int默认是32位的;如果是64位操作系统... -
java基本数据类型各占多少字节?
2021-03-13 19:13:03Java一共有8种基本数据类型:int占4字节,short占2字节,long占8字节,byte占1字节,float占4字节,double占8字节,char占2字节,boolean占1字节。Java一共有8种基本数据类型(原始数据类型):类型 存储要求 范围... -
C语言各变量类型占字节数
2021-01-26 14:41:09C语言变量所占字节数整理: 变量的基本类型包括:字符型、整型、长整型、浮点型。 每个变量在每个编译器所占的字节数不同,《the C Programming language》是这样说的: Each compiler is free to choose ... -
用sizeof运算符测定在当前编译器系统中数据类型所占空间的字节数
2021-01-24 21:44:12/用sizeof运算符测定在当前编译系统 中数据类型所占空间的字节数/ #include<stdio.h>//输出输入头文件 int main() { printf(" 数据类型 大小:\n"); printf("---------------------------------------\n"); ... -
JAVA基本数据类型所占字节数是多少?(32位系统)
2021-02-28 10:08:37byte 1字节short 2字节int 4字节long 8字节char 2字节(C语言中是1字节)可以存储一个汉字float 4字节double 8字节boolean false/true(理论上占用1bit,1/8字节,实际处理按1byte处理)JAVA是采用Unicode编码。... -
Android基本数据类型,所占字节数,相关运算
2022-03-04 14:07:50基本数据类型大小 Byte 字节, 8位; Boolean ,1个字节 Short , 2个字节,16位; char ,2个字节,16位; Int , 4个字节,32位; float, 4个字节,32位; Long ,8个字节,64位; double,8个字节,64位; Int64... -
java 数据类型所占字节数,int char
2016-06-11 09:36:13数据类型所占字节数,代码如下: package SimpleGrammar; /** * * @author jaloli * byte和int,char类型区别如下: 1.byte 是字节数据类型 ,是有符号型的,占1 个字节;大小范围为-128—127 。 2.char 是字符... -
字符串所占字节数分析
2021-05-19 10:02:55char *s="\ta\017bc"中指针变量s 指向的字符串所占字节数是6的原因。'\t' 是一个转义字符相当于键盘“Tab”键‘a’ 普通字符'\017'转义字符ASCII代码值为8进制数17即10进制数15的那个符号(LZ可以自己去查下看是什么... -
不同数据类型所占字节
2018-11-28 17:23:39char:1个字节 char*p:4个字节 int:4个字节 unsigned int:4个字节 double:8个字节 short:2个字节 long:4个字节 long long:8个字节 unsigned long:4个字节 二、64位处理器 char:1个字节 char*p:8个字节 int...