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();

            }
        }
    }
}

相关文章推荐

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

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

32位与64位系统基本数据类型的字节数

32位与64位系统数据类型不同的平台上对不同的数据类型分配的字节数是不同的,一般的,数据类型的字节数是由编辑器决定的(编译期间决定数据类型长度)。简单来说,平台就是CPU+OS+Compiler,cp...

基本数据类型在32位系统和64位系统中所占字节数

最近看到这方面的知识,众说纷纭,所以自己动手实验下。请看代码:#include using namespace std;int main() { cout << "字符数据:" << endl...

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

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

32位与64位系统基本数据类型的字节数

32位与64位系统数据类型 不同的平台上对不同的数据类型分配的字节数是不同的,一般的,数据类型的字节数是由编辑器决定的(编译期间决定数据类型长度)。 简单来说,平台就是CPU+OS+Compiler,...

利用siezof运算现实存储各种数据类型使用内存空间的字节数

在linux C C++入门与进阶中范例4.13: #include using namespace std; int main(void) {    short sh;    int ...

[转] c# 数据类型占用的字节数

bool -> System.Boolean (布尔型,其值为 true 或者 false) byte -> System.Byte (字节型,占 1 字节,表示 8 位正整数,范围 0 ~ 255...

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

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

Oracle中number数据类型所占用的字节数

Oracle用变长的方式存储存储number数据,每个number值是以科学计数法的形式存储在数据库中的:一个字节用来存储符号/指数,多达20个字节来存储尾数。然而存储的number数据的最大精度为3...

c# 数据类型占用的字节数

[转] c# 数据类型占用的字节数 bool -> System.Boolean (布尔型,其值为 true 或者 false) byte -> System.Byte (字节型,...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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