zoukankan      html  css  js  c++  java
  • 1-在C#中的数字 int double

    在之前本着能懒就懒的原则,所以导致一些本来该总结的也不总结,该记录的也不记录的知识点总是很快忘记的一干二净。

    今天,决定了开始记录,我也不敢说可以坚持多久,频率嘛,肯定不是每天都记录(还是懒),但是目前想来一周2-3次发博客记录学习吧。

    如果有看到我偷懒的,可以在消息里打醒我(希望你们不会记得)这里的内容我大概也不会在写第二遍了。

    追溯原因是今天看了某个大佬或者小佬的分享后决定再次回归从C#的基础中在跑一遍,(应该很快了)然后从中继续受益,不多说了。

    进入正题


    今天去Microsoft里面下载了C#的文档

    然后从最基础的看起,发现了即使是最基础的也能让我有所收获。记录一下,虽然可能多年后在看是个笑话,但这也算今天的一个目标和成就把。

    C# 整数类型不同于数学上的整数的另一点是, int 类型有最小限值和最大限值。 将此代码添加到 Main 方法,
    看看这些限制的运行机制
    1 int max = int.MaxValue; 
    2 int min = int.MinValue; 
    3 Console.WriteLine($"The range of integers is {min} to {max}");

    之前虽然也知道int.MaxValue; 但是这么久不用会忘,就这一点也够我写进来了

    敲黑板,不看答案有谁知道int的最大值是几位数吗?(我也不知道)

    2147483647
    -2147483648

    好了,问题来了,是不是觉得特别无聊,看这个干什么。那么问一个问题,如果 max + 1 或者 min -1 会怎么样呢?

    这样估计能打出来的就没几个人了把。

    报错,抛异常?越界,参数错误,编译错误。。。。。。

    在不看答案之前其实我也不知道

    答案是

    -2147483648
    2147483647

    竟然是正负数反转,好吧。之前从来没注意过,之前总以为不是随便用,一般也不会出问题,但是现在终于明白为什么要注意区分了,因为这个代价有点大。

    官方文档给出的说明是

    ---

    可以看到,答案非常接近最小(负)整数。 与 min + 2 相同。 加法运算会让整数溢出 允许的值。 答案是一个非常
    大的负数,因为溢出从最大整数值覆盖回最小整数值。

    ---

    收获了又

    其他就不多赘述了,

    同理,我马上想到并且去试了试 double和decimal,果然,他们也有MaxValue和MinValue

     图中,前两个是int的最大最小值----中间俩是double,后面的是decimal的

    我们都知道decimal的精度比double大,那么在正常使用中为什么不都用decimal而还用double呢?、

    如果你够细心可能就发现了,在上图中,中间double的那两项的范围比decimal大,但是decimal的精度要高于double。在官方文档中是这么说的

    好了,到点了,不要问我到什么点儿了。今儿总结了一堆了,温故知新,后面继续。


  • 相关阅读:
    上下左右固定特效
    JAVA与图形界面开发(Applet应用程序、AWT库、Swing)
    JAVA与数据库开发(JDBC-ODBC、SQL Server、MySQL)
    JAVA与网络开发(TCP:Socket、ServerSocket;UDP:DatagramSocket、DatagramPacket;多线程的C/S通讯、RMI开发概述)
    JAVA与多线程开发(线程基础、继承Thread类来定义自己的线程、实现Runnable接口来解决单继承局限性、控制多线程程并发)
    JAVA中的异常(异常处理流程、异常处理的缺陷)
    最大子段和
    最长【递增】子序列:注意没有公共,即只有一个序列。
    最长公共子序列LCS
    解编辑距离问题
  • 原文地址:https://www.cnblogs.com/SevenWang/p/13746208.html
Copyright © 2011-2022 走看看