精华内容
下载资源
问答
  • 一、程序运行平台 不同的平台上对不同数据类型分配的字节数是不同的。 个人对平台的理解是CPU+OS+Compiler,是因为: 1、64位机器也可以装32位系统(x64装XP); 2、32位机器上可以有16/32位的编译器(XP上有tc...
    一、程序运行平台
           不同的平台上对不同数据类型分配的字节数是不同的。
           个人对平台的理解是CPU+OS+Compiler,是因为: 
           1、64位机器也可以装32位系统(x64装XP); 
           2、32位机器上可以有16/32位的编译器(XP上有tc是16位的,其他常见的是32位的); 
           3、即使是32位的编译器也可以弄出64位的integer来(int64)。 
           以上这些是基于常见的wintel平台,加上我们可能很少机会接触的其它平台(其它的CPU和OS),所以个人认为所谓平台的概念是三者的组合。 
           虽然三者的长度可以不一样,但显然相互配合(即长度相等,32位的CPU+32位的OS+32位的Compiler)发挥的能量最大。 
           理论上来讲 我觉得数据类型的字节数应该是由CPU决定的,但是实际上主要由编译器决定(占多少位由编译器在编译期间说了算)。

    二、常用数据类型对应字节数
           可用如sizeof(char),sizeof(char*)等得出

           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个字节
    原文:http://www.cnblogs.com/augellis/archive/2009/09/29/1576501.html

    展开全文
  • 一、程序运行平台  ... 不同的平台上对不同数据类型分配的字节数是不同的。   个人对平台的理解是CPU+OS+Compiler,是因为:   1、64位机器也可以装32位系统(x64装XP);   2、32位机器上可以有1
     
    

    资料出处:http://blog.chinaunix.net/uid-25513153-id-182191.html

    一、程序运行平台 
           不同的平台上对不同数据类型分配的字节数是不同的。 
           个人对平台的理解是CPU+OS+Compiler,是因为: 
           1、64位机器也可以装32位系统(x64装XP); 
           2、32位机器上可以有16/32位的编译器(XP上有tc是16位的,其他常见的是32位的); 
           3、即使是32位的编译器也可以弄出64位的integer来(int64)。 
           以上这些是基于常见的wintel平台,加上我们可能很少机会接触的其它平台(其它的CPU和OS),所以个人认为所谓平台的概念是三者的组合。 
           虽然三者的长度可以不一样,但显然相互配合(即长度相等,32位的CPU+32位的OS+32位的Compiler)发挥的能量最大。 
           理论上来讲 我觉得数据类型的字节数应该是由CPU决定的,但是实际上主要由编译器决定(占多少位由编译器在编译期间说了算)。 

    二、常用数据类型对应字节数 
           可用如sizeof(char),sizeof(char*)等得出 

          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个字节 

    下面列出一些基本类型在32位及64位机上的大小差异


    intlongsize_ttime_tlong long int
    32位机器4字节4字节4字节4字节8字节
    64位机器4字节8字节8字节8字节8字节

    在写跨平台的程序时,一定要注意这些基本类型的长度大小。


    展开全文
  • 所谓的占用字节数,就是申请内存的时候所占的空间大小 类型 字节数 最小值 最大值 boolean 未指定,至少1字节,仅定义为取字面值true或false - - byte 1 -128(-2^7) 127(2^7-1) short 2 -...

    基本类型

    所谓的占用字节数,就是申请内存的时候所占的空间大小

    类型字节数最小值最大值
    boolean未指定,至少1字节,仅定义为取字面值true或false--
    byte1-128(-2^7)127(2^7-1)
    short2-32768(-2^15)32767(2^15 - 1)
    char2\u0000(即0)\uffff(即65,535)
    int4-2,147,483,648(-2^31)2,147,483,647(2^31 - 1)
    long8-9,223,372,036,854,775,808(-2^63)9,223,372,036,854,775,807(2^63 -1)
    float4(指数8位,尾数23位,指数偏移量127)3.4028235E381.4E - 45
    double8(指数11位,尾数52位,指数偏移量1023)1.7976931348623157E3084.9E - 324

    中英文编码字节

    对于中文,不同的编码占字节数是不同的,UTF-8编码下一个汉字所占字节也是不确定的,可能是2-4个字节

    char是2个字节,char里可以存一个汉字。String里的汉字,按照编码格式的不同,分为2-4个字节的占用,UTF-8占用3个字节,特别的占用4个字节。GBK里汉字确实是占用2个字节。UTF-16里汉字一般占2个字节,特殊的是4个字节

    编码英文字节数中文字节数
    UTF-813
    UTF-1644
    UTF-16BE22
    UTF-16LE22
    UTF-3244
    UTF-32BE44
    UTF-32LE44
    UNICODE44
    GBK12
    GB231212
    GB1803012
    ISO8859-111
    BIG512
    ASCII11

    参考文章

    展开全文
  • int类型字节打印输出

    千次阅读 2019-05-07 23:36:00
      今天在项目编程中,遇到一个问题,u32类型的参数,要赋值给一个u8 array[3],想用memcpy()...  类似主题是int类型字节打印数据,sizeof(int)实验验证后为4字节,就分别打印出这4个字节中的数值。   先贴上...

      今天在项目编程中,遇到一个问题,u32类型的参数,要赋值给一个u8 array[3],想用memcpy()函数进行赋值,由于类型大小不一致,一时不知道怎么做,经过查找,得以解决。说明如下;

      项目是在内网中做,在查找过程中用自己笔记本做了一下实验,vs2013版本。

      类似主题是int类型按字节打印数据,sizeof(int)实验验证后为4字节,就分别打印出这4个字节中的数值。

      先贴上代码

    #include<iostream>
    using namespace std;
    
    int main()
    {
        int i = 128;
        
        cout << sizeof(int) << endl;
    
        unsigned char* cc = (unsigned char*)&i;
    
        for (int j = 0; j < 4; j++)
            printf("cc: %p \t *cc: %x\n", cc + j, *(cc + j));
        
        system("pause");
        return 0;
    }

    输出:
    1222913-20190507233424319-24213930.png

    以上是正确代码


    以下对代码做改变

    unsigned char* cc = (unsigned char*)&i;
    改为
     char* cc = ( char*)&i;
    
     //代码如下:
    #include<iostream>
    using namespace std;
    
    int main()
    {
        int i = 128;
        
        cout << sizeof(int) << endl;
    
         char* cc = ( char*)&i;
    
        for (int j = 0; j < 4; j++)
            printf("cc: %p \t *cc: %x\n", cc + j, *(cc + j));
        
        system("pause");
        return 0;

    输出:
    1222913-20190507233450960-308810046.png

    输出为什么是ffffff80呢?

      char类型是有符号字符型变量还是无符号字符型变量,要看编译器是怎么定义的,不能想当然。char变量为一个字节,8bit,sighed char表示的范围是-128~127,(-128在内存中二进制表示为1000 0000,127在内存中二进制表示为0111 1111),unsighed char表示的范围是0~255.

      给 i 赋值128,十六进制0x80,二进制1000 0000,相当于是给char变量赋值-128.
      printf()函数的参数%x其含义为Unsigned hexadecimal integer;即输出一个十六进制的整型,而在代码中,%x对应的是char类型,所以此时printf()函数会将char类型隐式转换为int类型。

      对于int类型的对象,其值为-128,则其对应的内存值是0xFFFFFF80
      所以,在printf()函数中,char类型隐式转换成int类型后,输出就会变成4字节的0xFFFFFF80

    转载于:https://www.cnblogs.com/MisterXu/p/10828963.html

    展开全文
  • 数据类型占用字节数首先强调,不同数据类型的内存占用大小不固定,与编译器有关,与CPU的位数和操作系统的位数无关。但编译器仍然受CPU的字长影响。具体常用的标准如下: type 32字长 64字长 char 8 8 short ...
  • linux下的int字节数

    千次阅读 2019-04-19 10:44:37
    32位环境: char :1个字节 char*(即指针变量): 4个字节(32位的寻址空间是2^32, 即32个bit,也就是4个字节。...short int : 2个字节 int:4个字节 unsigned int : 4个字节 float:4个字节 double:8个字节 ...
  • int 类型究竟多少字节

    万次阅读 2016-12-17 17:28:40
    今天发现NEON技术中 int类型字节数是2,感觉很奇怪,最早写51单片机时也是2,后来到了观念转变成了4,现在有遇到了2. 一、转自 http://www.tuicool.com/articles/6j2uqi2  最近在看深入理解计算机系统这...
  • 在C语言中,double、long、unsigned、int、char类型数据所占字节数和机器字长及编译器有关系: 表格形式,易于开发者浏览
  • int类型占几个字节

    千次阅读 2019-11-06 16:31:55
    字节数 备注 byte(字节) 8bit -2^7~2^7-1 即-128~127 0 1byte 除以8是字节数 int(整型) 32bit -2^31~2^31-1 即-2147483648~2147483647 0 4byte ...
  • c++ 基本数据类型长度
  • java 数据类型所占字节数,int char

    千次阅读 2016-06-11 09:36:13
    数据类型所占字节数,代码如下: package SimpleGrammar; /** * * @author jaloli * byte和int,char类型区别如下: 1.byte 是字节数据类型 ,是有符号型的,占1 个字节;大小范围为-128—127 。 2.char 是字符...
  • C语言中int、long等类型所占的字节数

    万次阅读 2018-01-30 14:37:19
    C语言中int、long等类型所占的字节数。实验环境是win10,64位操作系统。 #include int main() { printf("sizeof(int)) :%d\n",sizeof(int)); printf("sizeof(long) :%d\n",sizeof(long)); printf("sizeof...
  • int4个字节 char2个字节 byte1个字节 short2个字节 long8个字节 float4个字节 double8个字节关于boolean占几个字节,众说纷纭,虽然boolean表现出非0即1的“位”特性,但是字节是Java中基本单位。所以boolean至少占...
  • MySQL中各数据类型占用字节数

    千次阅读 2020-04-22 10:01:23
    字节数 TINYINT 1 字节 SMALLINT 2 个字节 MEDIUMINT 3 个字节 INT 4 个字节 INTEGER 4 个字节 BIGINT 8 个字节 FLOAT(X) 4 如果 X < = 24 或 8 如果 25 < = X < = 53 FLOAT 4 个字节 ...
  • 关于int,long等数据类型占用字节数

    千次阅读 2019-05-21 09:37:35
    --------------------- 作者:编程吴彦祖 来源:CSDN 原文:...版权声明:本文为博主原创文章,转载请附上博文链接! 一.c语言数据占用字节 32位:char 1 short2 int 4long 4long long 8 64位:c...
  • C语言中int 类型字节长度

    千次阅读 2011-11-07 17:33:38
    int 这个数据类型比较特殊,具体分配的字节数与机器字长和编译器有关。如果要保证移植性,尽量用__int16 __int32 __int64 ,__int16、__int32,_int64 这些数据类型在所有平台下都分配相同的字节。所以在移植上不...
  • 介绍C# byte、sbyte、int、uint、long、ulong、double、float、char、bool等各种内置数据类型字节数、最大值、最小值。
  • 用C语言实现将一个int类型整数的每一个字节转换为8位2进制的表示!! 代码实现如下:
  • int类型究竟占几个字节

    千次阅读 2019-03-28 17:16:51
    最近在看深入理解计算机系统这本书,上面提到了在32位机器和64机器中int类型都占用4个字节。后来,查了The C Programming language这本书,里面有一句话是这样的:Each compiler is free to choose appropriate ...
  • 一个int类型到底占多少个字节

    万次阅读 2016-08-22 15:14:39
    一个int占多少个字节? 这个问题我们往往得到的答案是4. 但是int到底占多少个字节,却跟你的机器环境有关. [html] view plain copy  print? As you can see, the typical...
  • c++ 基本数据类型字节数

    千次阅读 2014-12-18 15:13:41
    关于这个基本的问题,很早以前就很清楚了,C标准中并没有具体给出规定那个基本类型应该是多少字节数,而且这个也与机器、OS、编译器有关,比如同样是在32bits的操作系统系,VC++的编译器下int类型为占4个字节;...
  • int、char、long各占多少字节数

    千次阅读 2019-04-28 10:18:06
    int、char、long各占多少字节数: 1、int 4个字节,32位,取值范围:-2的31次方到2的31次方-1 2、char 2个字节,16位,取值范围:【0~65535】 65535是系统最大端口数 3、long 8个字节,64位,取值范围:-2的63次方到2...
  • int longlong等所占字节数

    万次阅读 2018-08-14 12:35:02
    32位系统下,int、long、long long、__int64所占字节数和取值范围 字节数 char: 1字节(8位) int: 4字节 (32位,取值范围 -2^31 ~ 2^31-1) unsigned int : 4字节 (32位,取值范围 0 ~ 2^32-1) ...
  • byte字节转换成int类型

    千次阅读 2015-11-04 17:47:48
    将高位字节转换为int-(int )heightBytesToInt:(Byte[]) byte { int height = 0; for (int i = 0; i [testData length]; i++) { if (byte[i] >= 0) { height = height + byte[i];
  • 在16位的PC机中,char类型占1个字节int类型占2个字节,long int:4个字节,float占4个字节,double占8个字节字节是什么? 字节(Byte )是计算机用于计量存储容量的一种计量单位,一个字节通常8位长。 16位机...
  • 32位和64位系统区别及int字节数

    千次阅读 2018-06-21 17:35:12
    32位和64位系统区别及int字节数一)64位系统和32位有什么区别? 1、64bit CPU拥有更大的寻址能力,最大支持到16GB内存,而32bit只支持4G内存2、64位CPU一次可提取64位数据,比32位提高了一倍,理论上性能会提升1倍...
  • 1.  short和int型至少为16位,long型至少为32位,并且short型长度不能超过int型,而int型不能超过long型。这即是说各个类型的变量...下面列举在GCC编译器下32位机器和64位机器各个类型变量所占字节数:  C类型 

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 728,531
精华内容 291,412
关键字:

int类型字节数