精华内容
下载资源
问答
  • 各数据类型所占字节数
    千次阅读
    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语言中各数据类型所占字节数和取值范围 注:每种数据类型的取值范围都是与编译器相关的,以下为数据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)

    1. float  4字节  -3.4*10^38~3.4*10^38 
    2. double  8字节  -1.7*10^308~1.7*10^308
    3. 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:39
    C标准中并没有具体给出规定那个基本类型应该是多少字节数,具体与机器、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*(即指针变量): 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 :1个字节
    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...
  • 16位编译器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:20
    void DataLength() { qDebug() << “type: \t\t” << “size**” << endl; qDebug() <... QString::fromLocal8Bit(“所占字节数:”) <... QString::fromLocal8Bit(“所占字节数:”) <
  • #include&amp;lt;stdio.h&amp;gt; void main() { printf(&quot;sizeof(1.0L)=%d\n&quot;,sizeof(1.0L));//8 long double printf(&quot;sizeof(1.0f)=%d\n&quot;,sizeof(1.0f));...,si
  • 8种类型所占字节和位数和取值范围如下: 类型 占用字节 占用位数 数值长度 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)枚举类型,指一个被命名的整型常数的集合。即枚举类型,本质上是一组常数的集合体,只是这些常数有各自的命名。枚举类型,是一种用户...
  • here
  • C 语言 数据类型所占字节数

    千次阅读 2020-04-25 13:53:44
    四种基本数据类型 1.int 整型 4 2.float 单精度浮点型 4 3.char 字符型 1 4.double 双精度浮点型 8 ...了解某种类型的量在内存中所占字节数,sizeof运算符就是用于这一目的 程序实例:求种类...
  • 1、C语言各数据类型在内存中占用的字节由编译器决定,本测试以VS2015的X86模式运行。 2、确定数据类型后,无论变量是多少(不超出范围),都会占用固定的内存大小(由类型决定)。 3、内存的地址和大小以16进制...
  • 注意!基本整型所占字节数除了跟操作系统位数有关外,还跟编译器有关,比如说:VC++ int 占据4个四节,但是在 tuborC下则是2个字节
  • Java基本数据类型所占字节大小

    千次阅读 2021-11-11 14:50:39
    Java基本数据类型所占字节大小 一、Java基本数据类型  基本数据类型有8种:byte、...二、各数据类型所占字节大小 1个字节8位  计算机的基本单位:bit . 一个bit代表一个0或1 byte:1byte = 8bit 1个字节是8个bi
  • java基本数据类型所占字节数

    千次阅读 多人点赞 2019-02-11 17:30:41
    1、整型 类型 存储需求 bit 取值范围 备注 ...1字节 ...2字节 ...4字节 ...8字节 ...每一个字节占8位。你电脑系统应该是 32位系统,这样每个int就是 4个字节 。 其中,一个字节由8个二进制位...
  • 首先强调一点,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:44
    1.整型。 包括: ...long double(长精度浮点类型),8字节; 实型用来表示实数,相对于整型。 3.字符型,即char型。 char(字符型),1字节; 用来表示各种字符,与ASCII码表一一对应。 4.bool类型
  • 各种数据类型占字节数

    千次阅读 2013-10-25 16:49:08
    int多少位的一点看法 int的字节长度是由CPU和操作系统编译器共同决定的,一般情况下,主要是由操作系统决定,比如,你在64位AMD的机器上安装的是32位操作系统,那么,int默认是32位的;如果是64位操作系统...
  • java基本数据类型各占多少字节

    千次阅读 2021-03-13 19:13:03
    Java一共有8种基本数据类型:int4字节,short2字节,long8字节,byte1字节,float4字节,double8字节,char2字节,boolean1字节。Java一共有8种基本数据类型(原始数据类型):类型 存储要求 范围...
  • C语言变量类型占字节数

    千次阅读 2021-01-26 14:41:09
    C语言变量所占字节数整理: 变量的基本类型包括:字符型、整型、长整型、浮点型。 每个变量在每个编译器占的字节不同,《the C Programming language》是这样说的: Each compiler is free to choose ...
  • /用sizeof运算符测定在当前编译系统 中数据类型所占空间的字节数/ #include<stdio.h>//输出输入头文件 int main() { printf(" 数据类型 大小:\n"); printf("---------------------------------------\n"); ...
  • byte 1字节short 2字节int 4字节long 8字节char 2字节(C语言中是1字节)可以存储一个汉字float 4字节double 8字节boolean false/true(理论上占用1bit,1/8字节,实际处理按1byte处理)JAVA是采用Unicode编码。...
  • 基本数据类型大小 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:55
    char *s="\ta\017bc"中指针变量s 指向的字符串所占字节数是6的原因。'\t' 是一个转义字符相当于键盘“Tab”键‘a’ 普通字符'\017'转义字符ASCII代码值为8进制17即10进制15的那个符号(LZ可以自己去查下看是什么...
  • 不同数据类型所占字节

    千次阅读 2018-11-28 17:23:39
    char: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...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 250,321
精华内容 100,128
关键字:

各数据类型所占字节数