32位windows下各数据类型在内存中占用的字节数

转载 2012年03月30日 11:20:13

测试系统:Windows2003 server

C#中测试的结果:

int:4bytes;
Int16:2bytes;
Int32:4bytes;
Int64:8bytes;
byte:1bytes;
bool:1bytes;
Single:4bytes;
decimal:16bytes;
double:8bytes;
char:2bytes;
DateTime:8bytes;
float:4bytes;
Guid:16bytes;
long:8bytes;
UIntPtr:4bytes;
uint:4bytes;
UInt16:2bytes;
UInt32:4bytes;
UInt64:8bytes;
ulong:8bytes;

C#测试的代码:

using System;
using System.Collections.Generic;
using System.Text;
using System.IO;

namespace ConsoleApplication1
{
    struct display
    {
        public string paramType;
        public int size;
    }
    class Program
    {
        
        static void Main(string[] args)
        {
            unsafe
            {


                display[] sizes = new display[20];
                sizes[0].size = sizeof(int);
                sizes[0].paramType = "int";

                sizes[1].size = sizeof(Int16);
                sizes[1].paramType = "Int16";

                sizes[2].size = sizeof(Int32);
                sizes[2].paramType = "Int32";

                sizes[3].size = sizeof(Int64);
                sizes[3].paramType = "Int64";

                sizes[4].size = sizeof(byte);
                sizes[4].paramType = "byte";

                sizes[5].size = sizeof(bool);
                sizes[5].paramType = "bool";

                sizes[6].size = sizeof(Single);
                sizes[6].paramType = "Single";

                sizes[7].size = sizeof(decimal);
                sizes[7].paramType = "decimal";

                sizes[8].size = sizeof(double);
                sizes[8].paramType = "double";

                sizes[9].size = sizeof(char);
                sizes[9].paramType = "char";

                sizes[10].size = sizeof(DateTime);
                sizes[10].paramType = "DateTime";

                sizes[11].size = sizeof(float);
                sizes[11].paramType = "float";

                sizes[12].size = sizeof(Guid);
                sizes[12].paramType = "Guid";

                sizes[13].size = sizeof(long);
                sizes[13].paramType = "long";

                sizes[14].size = sizeof(UIntPtr);
                sizes[14].paramType = "UIntPtr";

                sizes[15].size = sizeof(uint);
                sizes[15].paramType = "uint";

                sizes[16].size = sizeof(UInt16);
                sizes[16].paramType = "UInt16";

                sizes[17].size = sizeof(UInt32);
                sizes[17].paramType = "UInt32";

                sizes[18].size = sizeof(UInt64);
                sizes[18].paramType = "UInt64";

                sizes[19].size = sizeof(ulong);
                sizes[19].paramType = "ulong";

 

                StreamWriter sw = new StreamWriter(@"D:/1.txt", true, Encoding.UTF8);
                sw.WriteLine("========================================================================");
                sw.WriteLine("                              size of each type                         ");
                sw.WriteLine("========================================================================");
                foreach (display temp in sizes)
                {
                    if (temp.paramType != null)
                        sw.WriteLine(temp.paramType + ":" + temp.size.ToString() + "bytes;");


                }
                bool booltest = true;
                sw.WriteLine("bool is true:"+booltest.ToString());
                booltest = false;
                sw.WriteLine("bool is false:" + booltest.ToString());
                sw.Close();

                Console.Read();

            }
        }
    }
}

Java中的Long和Double类型

Long型数据与Double型数据都是8位的,为什么Double的数值范围那么大呢?Long型数据范围是-2^63-(2^63-1),为什么Double类型的范围不是它,而是1.7e-308-1.7e...
  • u011277123
  • u011277123
  • 2018年01月18日 19:53
  • 85

关于32位系统中int、float、short、double等占多少个字节

我用VC编译的,测试了一下,代码如下: #include "iostream" using namespace std; int main() { cout cout c...
  • foreverhuylee
  • foreverhuylee
  • 2014年08月01日 15:01
  • 112149

32位windows下各数据类型在内存中占用的字节数

测试系统:Windows2003 serverC#中测试的结果:int:4bytes;Int16:2bytes;Int32:4bytes;Int64:8bytes;byte:1bytes;bool:1...
  • bigstoneasd
  • bigstoneasd
  • 2008年01月30日 12:21
  • 2402

C语言第三篇:C语言数据类型及各数据类型所占内存字节数

C语言的数据类型以及各数据类型的字节数。
  • qq_30866297
  • qq_30866297
  • 2016年03月20日 12:44
  • 1745

在32位、64位操作系统下各数据类型所占的字节数

点击打开链接版权声明:本文为博主原创文章,未经博主允许不得转载。         在32位、64位系统当中,唯一改变的是指针的长度;在32位系统当中是4个字节、64位则是8个字节。所谓的32位、64...
  • ffmxnjm
  • ffmxnjm
  • 2016年04月28日 10:38
  • 4992

各种数据类型在Win32和Win64系统下所占用的字节数(C语言)

相同的数据类型在不同的系统下占用的字节数可能不一样,下面是各种数据类型在Win32和Win64系统下所占用的字节数 Win32系统(x86编译配置下) 一、整型数据 int:4字节 long:4字节 ...
  • yubinghang93
  • yubinghang93
  • 2016年12月26日 22:22
  • 934

Object c/swift,java,c/c++在32位和64位各个平台上基本数据类型 所占有的字节数

现在很多app和服务器交互,双方收到对方收据,怎么才能完整解析消息,是大家都会遇到的问题。现在来看以下他们的字节长度差异。 iOS 64位编译器,对应64位系统,包含机型(iphone5s—同时运...
  • jia12216
  • jia12216
  • 2016年10月31日 15:33
  • 922

基本数据类型所占的字节数【C/C++】

C标准中并没有具体给出规定那个基本类型应该是多少字节数,而且这个也与机器、OS、编译器有关,比如同样是在32bits的操作系统系,VC++的编译器下int类型为占4个字节;而tuborC下则是2个字节...
  • dang_jiajia
  • dang_jiajia
  • 2014年07月01日 15:08
  • 1271

C语言在32位和64位系统上各类型所占字节数

引言        对比表     小结
  • thomashtq
  • thomashtq
  • 2014年08月10日 18:38
  • 15583

C语言中几种类型所占字节数

最近经常会遇到C语言中各类型变量所占字节数的问题,索性在这里做一个整理总结。 其实C标准并没有具体给出规定哪个基本类型应该是多少个字节数,而且这个也与OS、编译器有关,比如同样是在32位操作系统,V...
  • cherishinging
  • cherishinging
  • 2017年06月07日 17:09
  • 1833
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:32位windows下各数据类型在内存中占用的字节数
举报原因:
原因补充:

(最多只允许输入30个字)