C#开发笔记之22-C#中的int、long、float、double等类型都占多少个字节的内存。
本文由 比特飞 原创发布,欢迎大家踊跃转载。
转载请注明本文地址: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等类型都占多少个字节的内存。相关推荐
- decimal类型对象里面定义什么类型_MySQL中Decimal类型和Float Double的区别(详解)
MySQL中存在float,double等非标准数据类型,也有decimal这种标准数据类型. 其区别在于,float,double等非标准类型,在DB中保存的是近似值,而Decimal则以字符串的形 ...
- 【QtDesigner 开发笔记】在PyCharm中配置、使用方法、信号与槽、菜单、Tab Widget、子窗口
QtDesigner开发笔记 在PyCharm中配置QtDesigner和Pyuic QtDesigner使用:跑起一个最简单的项目 QtDesigner中使用信号与槽 方法1:设计器中连接信号与槽 ...
- JAVA中基本类型Boolean占几个字节
今天在整理JAVA基础知识时发现几大基本数据类型的封装类都有其BYTES值,也就是位数,除了Boolean.特意查了下资料,发现有几大说法,如下: 1.单个的boolean 类型变量在编译的时候是使用 ...
- android float类型保留两位小数_你知道MySQL中Decimal类型和Float Double的区别吗?
出处:cnblogs.com/panchanggui/p/10766607.html MySQL中存在float,double等非标准数据类型,也有decimal这种标准数据类型. 其区别在于,flo ...
- C语言中的小数(float,double)
小数分为整数部分和小数部分,它们由点号.分隔,例如 0.0.75.0.4.023.0.27.-937.198 -0.27 等都是合法的小数,这是最常见的小数形式,我们将它称为十进制形式. 此外,小数也 ...
- c++中int, long, long long都占几个字节和编译平台定义有关
初学时候看的文章都是说根据cpu和编译器位数来区分 但是经过实际测试发现有点问题,使用intel 64位处理器,64位操作系统,vs2017编译器为64位,对int,long,long long三种类 ...
- IOS开发笔记17-Object-C中的继承
转载请标明出处:[顾林海的博客] 个人开发的微信小程序,目前功能是书籍推荐,后续会完善一些新功能,希望大家多多支持! ##前言 在前面的程序Person.h文件中可以看到,Person继承了NSObj ...
- IOS开发笔记16-Object-C中的属性
转载请标明出处: http://blog.csdn.net/hai_qing_xu_kong/article/details/54667858 本文出自:[顾林海的博客] 前言 前一篇笔记记录了自定类 ...
- IOS开发笔记13-Object-C中的NSString
转载请标明出处: http://blog.csdn.net/hai_qing_xu_kong/article/details/53572258 本文出自:[顾林海的博客] 前言 NSString是Ob ...
最新文章
- python使用numpy的np.power函数计算numpy数组中每个数值的指定幂次(例如平方、立方)、np.power函数默认返回整数格式、np.float_power函数默认返回浮点数
- python3.6+pytorch-cpu+Pycharm环境下的PyTorch配置方法
- json 是个什么东西?
- java设计模式---职责链模式
- 利用vgg预训练模型提取图像特征
- python程序实例电话本-利用Python电话本小程序!这波操作你给几分?
- Spring Boot2.x-04Spring Boot基础-使用注解装配bean
- SAP Cloud for Customer动态控制任意UI元素的显示或隐藏
- 【CodeForces - 1042A】Benches (优先队列,思维模拟,maxmin问题)
- Hibernate二级缓存存集合对象
- English trip -- VC(情景课)1 F Another view
- 一:MySQL数据库的性能的影响分析及其优化
- 通过PDMS系统文件快速批量添加颜色规则
- Python redis安装使用教程
- python拼音名_python生成随机中文姓名和拼音
- 终极版Python打包exe文件,并修改图标,这将是你见过最详细的教程~
- 简单高效的图片降噪方法
- ❤️学习linux 两年多沉淀下来的linux 命令大全⭐建议收藏⭐
- 中国第三代半导体名单!
- 原生ajax crossO,总鳍鱼Crossopterygian
热门文章
- Linux Setuid(SUID)和Setgid(SGID) sticky bit
- Keras报错:`Dense` can accept only 1 positional arguments ('units',), but you passed the followin.....
- Java—synchronized和ReentrantLock锁详解
- MySQL—赋权(grant)和回收权限(revoke)
- 06 使用VS2012开发简单控制器程序 1214
- 创建一个django的项目 使用自创的虚拟环境
- git-下载与安装windows版本与linux版本
- celery-02-安装与使用说明-for-redis
- dj鲜生-24-含资源-模板操作-注册与登陆页的模板继承
- mysql-查询二-分组与聚合