zoukankan      html  css  js  c++  java
  • 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 =127;
    
                //错误提示:-129 无法转换为 sbtye 
                //number = -129;
    
                //错误提示:130 无法转换为 sbtye 
                //number = 130;
    
                int i = -130;
    
                //错误提示:无法将 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 =255;
    
                int i = 256;
                number = (byte)i;
                Console.WriteLine("int i ={0} ,byte number = {1}",i,number);
    
                i = 257;
                number = (byte)i;
                Console.WriteLine("int i ={0} ,byte number = {1}", i, number);
    
                i= -1;
                number = (byte)i;
                Console.WriteLine("int i ={0} ,byte number = {1}", i, number);
    
                i = -2;
                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 类型:

  • 相关阅读:
    CentOS7.4 chrony时间同步服务器部署(替代NTPD)
    Zabbix Agent for Windows部署(五)
    Zabbix3.4.5部署安装(二)
    Zabbix概术及基础介绍(一)
    修改zabbix为中文,并解决乱码问题(三)
    ZABBIX 3.4 监控Nginx 状态(七)
    PXE+Kickstart 全自动安装部署CentOS7.4
    Zabbix Agent for Linux部署(四)
    不能在 DropDownList 中选择多个项 原因分析及解决方法
    IE浏览器下的CSS问题
  • 原文地址:https://www.cnblogs.com/gzbit-zxx/p/11961982.html
Copyright © 2011-2022 走看看