一、舍弃小数位处理1. 四舍五入 Math.Round()Math.Round(74.5, MidpointRounding.AwayFromZero) = 75; // 保留到个位Math.Round(-74.5, MidpointRounding.AwayFromZero) = -75; // 目标值为负数时,四舍五入和正整数相同单纯使用 Math.Round(4.5) 得出的值为 4,因为 Round 默认是采用
前两天把之前做的一些网站迁移到新服务器,没想到在本地打开没问题,到了新环境就出现了各种问题,下面把遇到问题的解决办法列出来,以后再遇到方便查阅。1.我用的是wampserver集成开发环境,在新服务器上安装的时候,提示缺少几个.dll文件(msvcr140.dll、msvcr110.dll),然后就去搜索引擎搜,需要
我的在学习编码基础知识时首先想到的是,“伙计,网站真是太疯狂了。” 特别是在使用 vanilla Javascript 时,一个对用户来说“简单”的网页背后很容易就会有超过 100 行代码(加上数小时的耗脑逻辑,至少对于初学者来说是这样)。页面上不仅应该有“东西”(文本
码制 二进制运算要用补码来进行计算。 移码:补码的符号位按位取反。 定点小数的表示范围:人为补码定义1.00为最小即-1,最大就是全1即1-2^-(n-1),校验码 奇偶校验码,可检查1位(奇数位)的错误,不可纠错。 CRC循环校验码,可检错,不能纠错,采用模2运算来求校验码。 海明效验码,可检错,也可纠错, 位数
1.bool,C语言并没有,C++独有 2.内联(inline)函数公式:以“运行内存澎涨”方法,以空间换时间做到提升程序执行时长(函数公式没有在栈上,但在编码区;减少了出栈入栈的时间也) 标准:函数体编码不可以过多,函数公式里边不必循环系统使用次数强的 3.函数重载:函数公式名称能够一样,参数列表
C/C++ 的应用知识。让我们首先了解为什么 Rust 在 C/C++ 的世界中对性能关键型应用程序和系统软件开发有意义。随着时间的推移,我将指出我作为 C/C++ 程序员面临的一些注意事项。不检查数组索引的 边界导致缓冲区溢出。# include <stdio.h> # include <stdlib.h> # include <stri
icode9 是最热门的新语言(与 2006 年的语言一样新),它以可靠性和效率着称。 它是怎么做到的?好吧,icode9 拥有其他语言所没有的东西——它保证内存和线程安全,同时保持与 C 或 C++ 相同的高性能,同时还具有模式匹配和函数式编程等高级功能! 有些语言很接近:Go 以运行速度和编写
萤火虫算法(FA) 是一种基于萤火虫点燃后行为的随机优化算法。为了保证方法的有效性、实用性和简便性,将萤火虫的光度和趋光性理想化。萤火虫被重新定位到该区域最亮的萤火虫,并在算法运行过程中不断更新其位置,该算法仅搜索萤火虫的照度和趋光性伙伴。FA 基于以下规则,可概括如下: 萤火
Python 永远是我的第一选择。但与 C/C++ 相比,它在速度、内存使用和能源消耗方面效率低下。当我开始使用暗网时,我开始了解 ctypes 库,它有助于在 python 中调用 c 函数。感觉很难将它用于 C++ 函数和类对象。我找到了一种使用 pybind11 实现此绑定的简单方法。 在这里我想展示如何使
假如有一天我们要在在淘宝上买桌子,桌子这种很不规则不东西,该怎么从一个城市运输到另一个城市,这时候一般都会把它拆掉成板子,再装到箱子里面,就可以快递寄出去了。这个过程就类似我们的序列化的过程(把数据转化为可以存储或者传输的形式)。当买家收到货后,就需要自己把这些板子组装成桌子
运算重载符概念: 运算符重载是具有特殊函数名的函数,也具有其返回值类型,函数名字以及参数列表,其返回值类型与参数列表与普通的函数类似。函数原型:返回值 operator操作符(参数列表)注意: 运算符重载,就是对已有的运算符重新进行定义,赋予其另外一种功能,以适应不同的数据类型 不能通过重载操
前言简单介绍一下什么是委托。正文以前也写过委托,这次算是重新归档,和新的补充吧。有些人说委托是函数指针的包装,也有些人说委托是一个方法或多个方法的引用。这都是没有问题,委托是一个概念,微软官方文档说委托是一种引用类型,表示对具有特定参数列表和返回类型的方法引用。我觉得太啰
1. 前言随着计算机向着不同领域的延伸,数据的概念已经不仅局限于数值型数据,计算机需要处理大量的非数值、且复杂的类型数据。为了能抽象地描述这些非数值、复杂类型的数据,C++引入了复合数据类型的概念。C++数据类型分基本(原生)数据类型和复合数据类型,结构体就是一种复合数据类型。可
1. 函数基础一个C++程序中,往往需要包含若干个函数,可以说函数是C++程序的基础组成元件,是程序中的头等公民。如果要理解程序中使用函数的具体意义,则需要了解语言发展过程中致力要解决的 2 问题: 一是完善语言的内置功能库(API),让开发者不为通用功能所干扰。 另就是通过特定的代码组织
零碎记事 距离上次发博客已经有一年半了,转眼间我也是从做图像研究到了做游戏开发,说起来看看前面的博文,本来就有前兆的东西呢(笑)......因为主要还是在使用虚幻引擎,所以C++的东西会碰到多一些。 以后程序技术方面的文章就放博客,游戏设计相关的杂谈就放知乎那边吧,博主的知乎可以
1. SynchronousQueue用法先看一个SynchronousQueue的简单用例:/** * @author 一灯架构 * @apiNote SynchronousQueue示例 **/public class SynchronousQueueDemo { public static void main(String[] args) throws InterruptedException { // 1. 创建SynchronousQueue队列
1.1. 手动切换数据源application.properties# Order# 如果用Druid作为数据源,应该用url属性,而不是jdbc-urlspring.datasource.order.jdbc-url=jdbc:mysql://localhost:3306/order?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&useSSL=falsespring.datasource.ord
stackstack介绍stack是一种先进后出的数据结构,只有一个出口,类似于栈。stack容器哦允许新增元素,移除元素,取得栈顶元素,但是除了最顶端之后,没有任何其他办法可以存取stack的其他元素,换句话说,stack不允许有遍历的行为。元素推入栈的操作称为:push 元素推出栈的操作称为:pop概述 数据结构:
1 基于接口的代理模式什么是代理?简单来说,代理是指一个对象代替另一个对象去做某些事情。例如,对于每个程序员来说,他都有编程的能力:interface Programmable { void developSoftware();}对于Java程序员,他会编写Java代码:class JavaProgrammer implements Programmable { @Overrid
本文的知识点其实由golang知名的for循环陷阱发散而来, 对应到我的主力语言C#, 其实牵涉到闭包、foreach。为了便于理解,我重新组织了语言,以倒叙结构行文。先给大家提炼出一个C#题:观察for、foreach闭包的差异左边输出 5个5; 右边输出0,1,2,3,4, 答对的可以不用看下文了。闭包是在词法环境
C++为每种容器类型定义了一种名为const_iterator的类型,该类型只能用于读取容器内的元素,但不能改变其值。 对const_iterator类型解引用,得到的是一个指向const对象的引用。for (vector<string>::const_iterator iter = text.begin(); iter != text.end(); ++ iter){ cout <<
1. 代码说明功能staque结构以单链表方式实现,结合了stack与queue结构:pop_front+push_front使用方式为stack;pop_front+push_back使用方式是queue。除此之外还提供任意位置的插入、删除、访问和获取索引函数,但执行效率不高。没有提供拷贝复制函数,因为涉及深浅拷贝问题,建议用迭代器自行
这里所谓类的成员变量指针就是指绑定某个类的某个成员变量的指针,而不是某个对象的某个成员变量的指针,下面展现了两者的不同: // test14.cpp #include <cstdio> struct Test { char c; short s; int i;
1. C++类中各种成员函数1.1 非静态(非static)、非虚(非virtual)成员函数这是最常规的一种成员函数,必须通过其绑定的对象或指针调用。 // test20.cpp #include <cstdio> class Test20 { public: explicit Test
集合和数组的对比(为什么要有集合) 分为俩点1. 长度:数组的长度是固定的,集合的长度是可变的。2. 存储类型: 数组:可以存储基本数据类型,引用数据类型。 集合:只能存储引用数据类型。小tips: 基本数据类型在集合中存储要使用包装类。 基本数据类型对应的包装类