变量的存储空间(内存中)
1byte = 8bit
1KB = 1024byte
1MB = 1024KB
1GB = 1024MB
1TB = 1024GB
通过sizeof
方法,可以获取变量类型所占的内存空间(单位:字节)
附上代码:
//有符号
int sbyteSize = sizeof(sbyte);
Console.WriteLine("sbyte 所占的字节数为:" + sbyteSize);
int intSize = sizeof(int);
Console.WriteLine("int 所占的字节数为:" + intSize);
int shortSize = sizeof(short);
Console.WriteLine("short 所占的字节数为:" + shortSize);
int longSize = sizeof(long);
Console.WriteLine("long 所占的字节数为:" + longSize);
Console.WriteLine("==========================================");
//无符号
int byteSize = sizeof(byte);
Console.WriteLine("byte 所占的字节数为:" + byteSize);
int uintSize = sizeof(uint);
Console.WriteLine("uint 所占的字节数为:" + uintSize);
int ushortSize = sizeof(ushort);
Console.WriteLine("ushort 所占的字节数为:" + ushortSize);
int ulongSize = sizeof(ulong);
Console.WriteLine("ulong 所占的字节数为:" + ulongSize);
Console.WriteLine("==========================================");
//浮点数
int floatSize = sizeof(float);
Console.WriteLine("float 所占的字节数为:" + floatSize);
int doubleSize = sizeof(double);
Console.WriteLine("double 所占的字节数为:" + doubleSize);
int decimalSize = sizeof(decimal);
Console.WriteLine("decimal 所占的字节数为:" + decimalSize);
Console.WriteLine("==========================================");
//特殊类型
int boolSize = sizeof(bool);
Console.WriteLine("bool 所占的字节数为:" + boolSize);
int charSize = sizeof(char);
Console.WriteLine("char 所占的字节数为:" + charSize);
//sizeof是不能够得到string类型所占的内存大小的
//因为字符串长度是可变的,不定
//int stringSize = sizeof(string);
变量的本质
变量的本质是2进制 ——> 计算机中所有数据的本质上都是二进制,是一堆0和1。
为什么是2进制?
数据传递只能通过电信号,只有开和关两种状态。所以就用0和1表示这两种状态。
计算机中的存储单位最小是bit
(位),它只能表示0和1两个数字。
1bit 就是1个数,要不是0要不是1。
为了方便数据的表示,
出现了一个叫byte
(字节)的单位,它是由8个bit
组成的存储单位。
所以完没一般说一个字节为八位。
1byte = 0000 0000
2进制转10进制的规则
从右往左看,最右边的一位为第0位,如果该位不为0,则加上2的n次方。