c# 基础类型探索
一、前言
本章节主要是探索 C# 的基本类型,一直以来我本人常用都是 int 、double、bool、decimal、string 这五个类型,其对其它类型没有认真了解过。只是以前在学习的时候背了些,如 int 占几个字节呀,现在都模糊了。我现在想成为一名 C# 的架构师,因此关于 C# 的类型这块,我得自己花时间去了解,去实践。以下就是我实践的结果,对于实践的结果如果不正确的,欢迎在下方评论,我会第一时间查缺补漏。先谢谢大家!!!
学习路线参考:滑溜溜的小浪骚
使用这位大佬的架构师之路,成就我自己的架构师之路。在此先谢过这位大佬!!!
二、知识储备
1、二进制:英文名(binary),在数学和数字电路中值以 2 位基数的计数系统,以 2 为基数代表系统的是二进位制的。通过用 0 和 1 来表示。
2、比特:英文名(BIT,Binary digit )计算机专业术语,是信息单位,是英文 BIT 英译而来。在二进制系统中,每个 0 或 1 就是一个位(bit),位(bit)是数据存储的最小单位。其中 8 bit 就称为 一个字节(Byte)。
那么平时我们说电脑系统是:32位 或 64 位的系统,其实就是指计算机的 CPU 一次最多能处理 32 位数据 或 64 位数据。
3、无符号整数:无符号数是指整个机器字长的全部二进制位均表示数值位。相当数的绝对值。
4、带符号整数:有符号数可以表示为正整数、0 和 负整数值。其二进制编码包含 符号位 和 真值域
8位二进制所能表示的无符号整数范围为 0 ~255 ,用二进制表示为( 00000000 ~ 11111111 ) ;8 位二进制所能表示的带符号位的整数范围为 -128~127,二进制表示为( 0 0000000 ~ 1 1111111 )其中第一位的 0 (正数)和 1 (负数)表示符号位。
三、基本类型认识
1、sbyte 类型:表示 8 位(bit)有符号整数,根据我们先了解的知识储备,8 位有符号的整数取值就是 -128 ~ 127 之间。
/// <summary>
/// 使用本程序来了解 C# 的基础类型
/// </summary>
namespace BaseTypeStudyyle
{
using System;
class Program
{
static void Main(string[] args)
{
//1、sbyte
//SByte:表示 8 位有符号整数,取值范围 -127~128 sbyte number =; //错误提示:-129 无法转换为 sbtye
//number = -129; //错误提示:130 无法转换为 sbtye
//number = 130; int i = -; //错误提示:无法将 int 隐式转换为 sbtye (是否强制转换?)。
//number = i; number = (sbyte)i;
Console.WriteLine("int i ={0} ,sbyte number = {1}",i,number);
}
}
}
输出结果:
那么 int = -130 ,为什么会是 sbyte=126 呢?因为数据溢出了就会改变符号,符号位 0 变 1,1 变 0。
2、btye 类型:表示 8 位(bit)无符号整数,8 位无符号的整数取值就是 0 ~ 255 之间。
/// <summary>
/// 使用本程序来了解 C# 的基础类型
/// </summary>
namespace BaseTypeStudyyle
{
using System;
class Program
{
static void Main(string[] args)
{
//2、sbyte
//Byte:表示 8 位有符号整数,取值范围 0~255 byte number =; int i = ;
number = (byte)i;
Console.WriteLine("int i ={0} ,byte number = {1}",i,number); i = ;
number = (byte)i;
Console.WriteLine("int i ={0} ,byte number = {1}", i, number); i= -;
number = (byte)i;
Console.WriteLine("int i ={0} ,byte number = {1}", i, number); i = -;
number = (byte)i;
Console.WriteLine("int i ={0} ,byte number = {1}", i, number);
}
}
}
输出结果:
3、short 类型:表示 16位(bit)有符号整数,8 位有符号的整数取值就是 -32768 ~ 32767 之间。
/// <summary>
/// 使用本程序来了解 C# 的基础类型
/// </summary>
namespace BaseTypeStudyyle
{
using System;
class Program
{
static void Main(string[] args)
{ short min = short.MinValue; ;
short max = short.MaxValue; Console.WriteLine("short max ={0} ,short min = {1}", max, min);
}
}
}
4、ushort 类型:表示 16位(bit)无符号整数,8 位无符号的整数取值就是 0 ~ 65535之间。
/// <summary>
/// 使用本程序来了解 C# 的基础类型
/// </summary>
namespace BaseTypeStudyyle
{
using System;
class Program
{
static void Main(string[] args)
{
ushort min = ushort.MinValue; ;
ushort max = ushort.MaxValue; Console.WriteLine("ushort max ={0} ,ushort min = {1}", max, min);
}
}
}
5、int 类型:表示 32位(bit)有符号整数,32 位有符号的整数取值就是 -2147483648 ~ 2147483647之间。
/// <summary>
/// 使用本程序来了解 C# 的基础类型
/// </summary>
namespace BaseTypeStudyyle
{
using System;
class Program
{
static void Main(string[] args)
{
int min = int.MinValue; ;
int max = int.MaxValue; Console.WriteLine("int max ={0} ,int min = {1}", max, min);
}
}
}
6、uint 类型:表示 32位(bit)无符号整数,32 位无符号的整数取值就是 0 ~ 4294967295 之间。
/// <summary>
/// 使用本程序来了解 C# 的基础类型
/// </summary>
namespace BaseTypeStudyyle
{
using System;
class Program
{
static void Main(string[] args)
{
uint min = uint.MinValue; ;
uint max = uint.MaxValue; Console.WriteLine("uint max ={0} ,uint min = {1}", max, min);
}
}
}
7、long 类型:表示 64位(bit)有符号整树。
8、ulong 类型:表示 64位(bit)无符号整数。
9、char 类型:
10、float 类型:
11、double 类型:
12 、bool 类型:
13:decimal 类型:
14:string 类型:
15、object 类型
16:dynamic 类型:
c# 基础类型探索的更多相关文章
- salesforce 零基础学习(五十八)通过sObject的field返回其对应的基础类型
项目中有时候会要求通过sObject的Field的type类型返回其对应的基本类型,然后对其进行相关的处理,创建sObject的field可以选择的type类型是固定多的. 上述类型可以转换成几种基本 ...
- TypeScript 素描-基础类型
博文读自 TypeScript 官方文档而来,不具有学习性,仅是本人学习时记录以供日后翻阅 ,有学习TypeScript的朋友还请去看更为详细的官方文档 TypeScript官网文档中的基础类型, T ...
- Typescript基础类型
1.布尔值__boolean 2.数字__number----除了支持十进制和十六进制字面量,Typescript还支持ECMAScript 2015中引入的二进制和八进制字面量. 3.字符串__st ...
- 玩转JavaScript OOP[0]——基础类型
前言 long long ago,大家普遍地认为JavaScript就是做一些网页特效的.处理一些事件的.我身边有一些老顽固的.NET程序员仍然停留在这种认知上,他们觉得没有后端开发肯定是构建不了系统 ...
- 【Go入门教程2】内置基础类型(Boolean、数值、字符串、错误类型),分组,iota枚举,array(数值),slice(切片),map(字典),make/new操作,零值
这小节我们将要介绍如何定义变量.常量.Go内置类型以及Go程序设计中的一些技巧. 定义变量 Go语言里面定义变量有多种方式. 使用var关键字是Go最基本的定义变量方式,与C语言不同的是Go把变量类型 ...
- Java基础类型总结
最近一直在总结反思自己, 趁着现在请假在学校上课的空余时间,从基础开始重新温故学习下Java,充实下自己. 一.数据类型 从下图中,我们可以很清晰的看出Java中的类型,其中红色方框中的是Java的4 ...
- c#基础-类型基础深入了解
对象类型需要动态内存,基础类型需要静态内存 动态内存分配在堆上,静态内存分配在栈上. 静态内存保存着简单的变量,如 int a=0; 值类型:把一个值类型赋值给另外一个值类型,改变其中一个另外一个不会 ...
- Java基础类型与其二进制表示
Java中的基础类型有:byte.short.int.long.float.double.char和boolean. 它们可被分为四种类型,整型.浮点型.char型和boolean型. 整型:byte ...
- java基础-基础类型包装类型
想要对基本类型数据进行更多的操作,最方便的方式就是将其封装成对象. 为啥呢?因为在对象描述中就可以定义更多的属性和行为对该基本数据类型进行操作. [八种基本数据类型的包装类] byte --Byte ...
随机推荐
- [Noip2018普及]摆渡车
生涯回忆录彻底摸了...反正也没啥人看( 过几天要给普及组神犇讲课就寻思做一点普及题,然后差点被锤爆,, 题在luogu上找的https://www.luogu.org/problemnew/show ...
- Codeforces 1172E Nauuo and ODT [LCT]
Codeforces ZROI那题是这题删掉修改的弱化版--ZROI还我培训费/px 思路 按照套路,我们考虑每种颜色的贡献,然后发现不包含某种颜色的路径条数更容易数,就是删掉该颜色的点后每个连通块大 ...
- Codeforces 1172F Nauuo and Bug [线段树]
Codeforces 思路 定义\(f_{l,r}(x)\)表示数\(x\)从\(l\)进去\(r\)出来的时候会变成什么样子.容易发现这个函数是个分段函数,每一段都是斜率为1的一次函数,并且段数就是 ...
- 2019暑期金华集训 Day7 分治
自闭集训 Day7 分治 主定理 由于我沉迷调题,这个地方没听课. 某些不等式 咕了 nth_element 使用快速排序的思想,选一个中间点,看左右有多少个. 期望复杂度\(O(n)\). 首先把一 ...
- HDU 6208 The Dominator of Strings ——(青岛网络赛,AC自动机)
最长的才可能成为答案,那么除了最长的以外全部insert到自动机里,再拿最长的去match,如果match完以后cnt全被清空了,那么这个最长串就是答案.事实上方便起见这个最长串一起丢进去也无妨,而且 ...
- CEF3开发者系列之Cookies管理和共享<转>
原帖地址:https://www.cnblogs.com/guolixiucai/p/6994559.html 涉及网页登录相关的技术,Cookies肯定是忽略不了的.由于项目的需要,要做一个双核的产 ...
- AAR文件简介
假如我们希望提供一个带有资源文件的第三方库给别人使用,总不能直接把源代码给别人,但是我们知道eclipse打包的时候不能包含res的资源文件,于是Android在发布Android studio的时候 ...
- [转]Myeclipse之web项目的部署(发布)流程
在myeclipse下新建web工程abc.系统设置默认如下: 项目保存位置:workspace目录\abc Source文件夹:src,保存所有的java类文件(.java文件)和xml文件. We ...
- 表观 | Enhancer | ChIP-seq | 转录因子 | 数据库专题
需要长期更新! 参考:生信修炼手册 enhancer的基本概念: 长度几十到几千bp,作用是提高靶基因活性,属于顺式作用原件,DNA作用到DNA,转录因子就是反式,是结合到DNA的蛋白. 1981年, ...
- SonarQube入门【转】
一.SonarQube简介Sonar 是一个用于代码质量管理的开放平台.通过插件机制,Sonar可以集成不同的测试工具,代码分析工具, 以及持续集成工具. 比如pmd-cpd.checkstyle.f ...