本文由 比特飞 原创发布,欢迎大家踊跃转载。

转载请注明本文地址:C#开发笔记之22-C#中的int、long、float、double等类型都占多少个字节的内存。 | .Net中文网

C#开发笔记概述

概述

本案例向大家展示C#中的int、long、float、double等类型都占多少个字节的内存。

解释

using System;public static class Program
{public static void Main(string[] args){Console.WriteLine("{0}: {1} byte(s) scope:[{2}-{3}]",typeof(byte).Name.PadLeft(8), sizeof(byte).NumberPad(2),byte.MinValue.NumberPad(32, true), byte.MaxValue.NumberPad(32));Console.WriteLine("{0}: {1} byte(s) scope:[{2}-{3}]",typeof(sbyte).Name.PadLeft(8), sizeof(sbyte).NumberPad(2),sbyte.MinValue.NumberPad(32, true), sbyte.MaxValue.NumberPad(32));Console.WriteLine("{0}: {1} byte(s) scope:[{2}-{3}]",typeof(short).Name.PadLeft(8), sizeof(short).NumberPad(2),short.MinValue.NumberPad(32, true), short.MaxValue.NumberPad(32));Console.WriteLine("{0}: {1} byte(s) scope:[{2}-{3}]",typeof(ushort).Name.PadLeft(8), sizeof(ushort).NumberPad(2),ushort.MinValue.NumberPad(32, true), ushort.MaxValue.NumberPad(32));Console.WriteLine("{0}: {1} byte(s) scope:[{2}-{3}]",typeof(int).Name.PadLeft(8), sizeof(int).NumberPad(2),int.MinValue.NumberPad(32, true), int.MaxValue.NumberPad(32));Console.WriteLine("{0}: {1} byte(s) scope:[{2}-{3}]",typeof(uint).Name.PadLeft(8), sizeof(uint).NumberPad(2),uint.MinValue.NumberPad(32, true), uint.MaxValue.NumberPad(32));Console.WriteLine("{0}: {1} byte(s) scope:[{2}-{3}]",typeof(long).Name.PadLeft(8), sizeof(long).NumberPad(2),long.MinValue.NumberPad(32, true), long.MaxValue.NumberPad(32));Console.WriteLine("{0}: {1} byte(s) scope:[{2}-{3}]",typeof(ulong).Name.PadLeft(8), sizeof(ulong).NumberPad(2),ulong.MinValue.NumberPad(32, true), ulong.MaxValue.NumberPad(32));Console.WriteLine("{0}: {1} byte(s) scope:[{2}-{3}]",typeof(float).Name.PadLeft(8), sizeof(float).NumberPad(2),float.MinValue.NumberPad(32, true), float.MaxValue.NumberPad(32));Console.WriteLine("{0}: {1} byte(s) scope:[{2}-{3}]",typeof(double).Name.PadLeft(8), sizeof(double).NumberPad(2),double.MinValue.NumberPad(32, true), double.MaxValue.NumberPad(32));Console.WriteLine("{0}: {1} byte(s) scope:[{2}-{3}]",typeof(decimal).Name.PadLeft(8), sizeof(decimal).NumberPad(2),decimal.MinValue.NumberPad(32, true), decimal.MaxValue.NumberPad(32));Console.WriteLine("{0}: {1} byte(s)",typeof(bool).Name.PadLeft(8), sizeof(bool).NumberPad(2));Console.WriteLine("{0}: {1} byte(s)",typeof(char).Name.PadLeft(8), sizeof(char).NumberPad(2));Console.WriteLine("{0}: {1} byte(s) ",typeof(IntPtr).Name.PadLeft(8), IntPtr.Size.NumberPad(2));Console.ReadLine();}public static string NumberPad<T>(this T value, int length, bool right = false){if (right){return value.ToString().PadRight(length);}else{return value.ToString().PadLeft(length);}}}

以下是输出结果。

    Byte:  1 byte(s) scope:[0                               -                             255]SByte:  1 byte(s) scope:[-128                            -                             127]Int16:  2 byte(s) scope:[-32768                          -                           32767]UInt16:  2 byte(s) scope:[0                               -                           65535]Int32:  4 byte(s) scope:[-2147483648                     -                      2147483647]UInt32:  4 byte(s) scope:[0                               -                      4294967295]Int64:  8 byte(s) scope:[-9223372036854775808            -             9223372036854775807]UInt64:  8 byte(s) scope:[0                               -            18446744073709551615]Single:  4 byte(s) scope:[-3.4028235E+38                  -                   3.4028235E+38]Double:  8 byte(s) scope:[-1.7976931348623157E+308        -         1.7976931348623157E+308]Decimal: 16 byte(s) scope:[-79228162514264337593543950335  -   79228162514264337593543950335]Boolean:  1 byte(s)Char:  2 byte(s)IntPtr:  8 byte(s) 

以上结果需要注意,在32位系统中,IntPtr为4字节,在64位系统中,IntPtr为8字节。

本文由 比特飞 原创发布,欢迎大家踊跃转载。

转载请注明本文地址:C#开发笔记之22-C#中的int、long、float、double等类型都占多少个字节的内存。 | .Net中文网

C#开发笔记之22-C#中的int、long、float、double等类型都占多少个字节的内存。相关推荐

  1. decimal类型对象里面定义什么类型_MySQL中Decimal类型和Float Double的区别(详解)

    MySQL中存在float,double等非标准数据类型,也有decimal这种标准数据类型. 其区别在于,float,double等非标准类型,在DB中保存的是近似值,而Decimal则以字符串的形 ...

  2. 【QtDesigner 开发笔记】在PyCharm中配置、使用方法、信号与槽、菜单、Tab Widget、子窗口

    QtDesigner开发笔记 在PyCharm中配置QtDesigner和Pyuic QtDesigner使用:跑起一个最简单的项目 QtDesigner中使用信号与槽 方法1:设计器中连接信号与槽 ...

  3. JAVA中基本类型Boolean占几个字节

    今天在整理JAVA基础知识时发现几大基本数据类型的封装类都有其BYTES值,也就是位数,除了Boolean.特意查了下资料,发现有几大说法,如下: 1.单个的boolean 类型变量在编译的时候是使用 ...

  4. android float类型保留两位小数_你知道MySQL中Decimal类型和Float Double的区别吗?

    出处:cnblogs.com/panchanggui/p/10766607.html MySQL中存在float,double等非标准数据类型,也有decimal这种标准数据类型. 其区别在于,flo ...

  5. C语言中的小数(float,double)

    小数分为整数部分和小数部分,它们由点号.分隔,例如 0.0.75.0.4.023.0.27.-937.198 -0.27 等都是合法的小数,这是最常见的小数形式,我们将它称为十进制形式. 此外,小数也 ...

  6. c++中int, long, long long都占几个字节和编译平台定义有关

    初学时候看的文章都是说根据cpu和编译器位数来区分 但是经过实际测试发现有点问题,使用intel 64位处理器,64位操作系统,vs2017编译器为64位,对int,long,long long三种类 ...

  7. IOS开发笔记17-Object-C中的继承

    转载请标明出处:[顾林海的博客] 个人开发的微信小程序,目前功能是书籍推荐,后续会完善一些新功能,希望大家多多支持! ##前言 在前面的程序Person.h文件中可以看到,Person继承了NSObj ...

  8. IOS开发笔记16-Object-C中的属性

    转载请标明出处: http://blog.csdn.net/hai_qing_xu_kong/article/details/54667858 本文出自:[顾林海的博客] 前言 前一篇笔记记录了自定类 ...

  9. IOS开发笔记13-Object-C中的NSString

    转载请标明出处: http://blog.csdn.net/hai_qing_xu_kong/article/details/53572258 本文出自:[顾林海的博客] 前言 NSString是Ob ...

最新文章

  1. python使用numpy的np.power函数计算numpy数组中每个数值的指定幂次(例如平方、立方)、np.power函数默认返回整数格式、np.float_power函数默认返回浮点数
  2. python3.6+pytorch-cpu+Pycharm环境下的PyTorch配置方法
  3. json 是个什么东西?
  4. java设计模式---职责链模式
  5. 利用vgg预训练模型提取图像特征
  6. python程序实例电话本-利用Python电话本小程序!这波操作你给几分?
  7. Spring Boot2.x-04Spring Boot基础-使用注解装配bean
  8. SAP Cloud for Customer动态控制任意UI元素的显示或隐藏
  9. 【CodeForces - 1042A】Benches (优先队列,思维模拟,maxmin问题)
  10. Hibernate二级缓存存集合对象
  11. English trip -- VC(情景课)1 F Another view
  12. 一:MySQL数据库的性能的影响分析及其优化
  13. 通过PDMS系统文件快速批量添加颜色规则
  14. Python redis安装使用教程
  15. python拼音名_python生成随机中文姓名和拼音
  16. 终极版Python打包exe文件,并修改图标,这将是你见过最详细的教程~
  17. 简单高效的图片降噪方法
  18. ❤️学习linux 两年多沉淀下来的linux 命令大全⭐建议收藏⭐
  19. 中国第三代半导体名单!
  20. 原生ajax crossO,总鳍鱼Crossopterygian

热门文章

  1. Linux Setuid(SUID)和Setgid(SGID) sticky bit
  2. Keras报错:`Dense` can accept only 1 positional arguments ('units',), but you passed the followin.....
  3. Java—synchronized和ReentrantLock锁详解
  4. MySQL—赋权(grant)和回收权限(revoke)
  5. 06 使用VS2012开发简单控制器程序 1214
  6. 创建一个django的项目 使用自创的虚拟环境
  7. git-下载与安装windows版本与linux版本
  8. celery-02-安装与使用说明-for-redis
  9. dj鲜生-24-含资源-模板操作-注册与登陆页的模板继承
  10. mysql-查询二-分组与聚合