文章目录概念理解LRU原理基于 HashMap 和 双向链表实现 LRU 的Redis的LRU实现实际运用 概念理解1.LRU是Least Recently Used的缩写,即最近最少使用页面置换算法,是为虚拟页式存储管理服务的,是根据页面调入内存后的使用情况进行决策了。由于无法预测各页面将来的使用情况,只能利用“最近的过去”作为“最近的将来”的近似,因此,LRU算法就是将最近最久未使用的页面予
转载
2024-05-10 16:30:13
262阅读
5.Table Lua的table类型比较强大,用过都知道,它的index不仅可以使用number,还能使用string等其他的值,nil除外。table没有固定的size,你可以动态地向table中添加元素。table是Lua中的主要数据结构。在Lua中,我们用table来表示普通数组,符号表,set,record,queue和其他的lua数据结构。Lua也使用table来表示module,p
日期:2014.7.22PartⅢ The Standard Libraries19 The Bitwise Library位运算库lua中的位运算由于数值类型是浮点型,所以支持效果不太好。lua中利用一些位运算实现一些算法。如:左移相当于乘以2,右移相当于除以2.而对于按位与和按位或这两个概念则需要额外讨论了,这也是由于浮点型数值所带来的影响。lua5.2中通过位库提
转载
2024-02-25 22:26:46
172阅读
客户端使用lua、服务端使用QT做为服务器。 步骤: 客户端 -----------Post 用户名和密码 服务端接受Post请求,读取数据,返回response 一、客户端代码 loadingImg = require"app.scenes.LoadingLayer"
loca
1. 什么是浮点数 在计算机系统的发展过程中,曾经提出过多种方法表达实数。典型的比如相对于浮点数的定点数(Fixed Point Number)。在这种表达方式中,小数点固定的位于实数所有数字中间的某个位置。货币的表达就可以使用这种方式,比如 99.00 或者 00.99 可以用于表达具有四位精度(Precision),小数点后有两位的货币值。由于小数点位置固定,所以可以直接用四位数值来表达相应
小数数字电路中,像是要计算FFT啊之类的,需要电路能处理的小数。一般分定点小数和浮点小数两种。定点形式简单,量化后限定范围,只要在误差允许的情况下,且计算不会溢出。浮点较为复杂,运算需要专门设计的电路结构来实现,但具有表达范围大,动态分辨率的好处。1.1定点小数先上例子:8位有符号位,第4位为小数点位: b1000.0000~b0111.1111即-8到7.9375 注意第一位是符号位,负数用补码
转载
2024-10-22 10:21:35
44阅读
在嵌入式开发中,程序通过发送一两个字节来控制某一设备,这“一两个字节”每一位都有其确切的含义,高级语言比较少涉及对某个变量的具体操作,C语言作为一个偏低层的语言,当然会有对变量每一位进行操作的方法。一、数据的表示方法计算机存储补码,主要原因是计算机辨别"符号位"会让计算机的基础电路设计变得十分复杂[1]。因为正数需要使用一个状态用于表示0,所以位数相同的数,正数比负数少一位。一般而言,int是四个
简介在计算机中采用4位二进制码对每个十进制数位进行编码。4位二进制码有16中不同的组合,从中选出10种来表示十进制数位的0~9,有多种方案可供选择,下面介绍最常用的几种。1 有权码表示一位十进制数的二进制码的每一位有确定的权。一般用8421码,其4个二进制码的权从高到低分别为8、4、2 和 1.用0000、0001、···、1001 分别表示0、1、···、9,每个数位内部满足二进制规则,而数位之
转载
2024-10-17 06:32:16
127阅读
在开发协议这块时,为了寻找一个快速的8字节转换其它字节的方式,百度许久也没有一款简洁好用,并且在Qt中也好调用的方法,所以设计出了以下方法,该方法支持8字节转为任意指定的字节长度。8字节转6字节//判断ASCLL码转为数字需要减去的长度。
void conversionfunc(uchar data,int& val)
{
if ((unsigned int)data>96)
转载
2024-07-14 10:58:07
73阅读
字符编码的前备知识一、字节很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同的状态,以表示世界上的万物。他们看到8个开关状态是好的,于是他们把这称为”字节“。再后来,他们又做了一些可以处理这些字节的机器,机器开动了,可以用字节来组合出很多状态,状态开始变来变去。他们看到这样是好的,于是它们就这机器称为”计算机“。 **so: 字节是是计算机信息计量单位,一个字节包含八个bit。**
转载
2024-03-08 14:20:22
77阅读
默认会四舍五入 比如:%0.2f 会四舍五入后,保留小数点后2位 Lua保留一位小数 lua nNum 源数字 n 小数位数 function Tool. GetPreciseDecimal(nNum, n) if type(nNum) ~= "number" then return nNum; e
转载
2021-07-20 17:46:42
4205阅读
正则表达式是文本搜索的一个利器,掌握它定会提高你的工作效率。要使用正则表达式就必须知道有哪些元字符以及它们所代表的意义,这里我就不再对每个元字符做说明了,假设你已经了解了这些知识,如果还不了解可以参考网上的一些资料。以下所有示例用的是一个在线的正则表达式测试工具来验证的,地址是 1、匹配指定数量字符比如11位的手机号:[0-9]{11},匹配结果如下图: 匹配指定数量字符 大括号里的数字
转载
2024-06-02 22:06:43
70阅读
最近一段时间看到版上关于 C++ 里浮点变量精度的讨论比较多,那么我就给对这个问题有疑惑的人详细的讲解一下 intel 的处理器上是如何处理浮点数的。为了能更方便的讲解,我在这里只以 float 型为例,从存储结构和算法上来讲, double 和 float 是一样的,不一样的地方仅仅是
转载
2024-06-04 11:32:16
30阅读
1. 【二进制(0~1)、八进制(0~7)、十进制(0~9)】→十六进制(0~15,10~15之间的数用A~F表示)101011→1*20+1*21+0*22+1*23+0*24+1*25=1+2+0+8+0+32=43 //二进制转十进制
053→3*80+5*81=3+40=43 //八进制转十进制
0x2B=B*160+2*161=1
这与以下问题有关,如何在C中声明32位整数有人提到int在大多数平台上总是32位的。我很好奇这是不是真的。你知道有什么不同尺寸的现代平台吗?忽略具有8位或16位架构的恐龙平台。注意:我已经知道如何从另一个问题中声明32位整数。这个更像是一个调查,找出哪些平台(CPU/OS/编译器)支持其他大小的整数。有现代的8位和16位处理器,只是不在PC环境中。正如一些人所说,不保证"int"是32位的,如果您
转载
2024-02-28 10:30:42
90阅读
DecimalFormat是NumberFormat一个具体的子类,主要是格式化十进制数。它有各种各样的设计用于解析和格式化数字中的数字的特性区域设置,包括整数(123)、固定点编号(123.4)、科学记数法(1.23E4)、百分比(12%)和货币金额(123美元)等。常用到的几个需求案例1.保留两位的百分比数;例如:99.99% 2.金额默认保留两位;例如:199.00¥,231,199.00元
1、lua支持以下几种变量类型 print(type("string")) string
print(type(10)) number
print(type(print)) function
print(type(true)) boolean
print(type({}))
转载
2024-05-11 15:48:46
88阅读
函数的定义是以function关键字开始的,后面函数的名称,然后是要传递给函数的参数,如果没有参数传给函数,仍然需要用()来表示一个空的参数列表,以end关键字结尾。 复制代码代码如下:function 函数名() ... ... ...end 1. 单一参数 复制代码代码如下:function F_1(var) print("
转载
2024-02-13 13:17:06
27阅读
计组学习 —— Floating Point浮点数的表示0b xx.xxxx\(2^1\ 2^0\ .2^{-1}\ 2^{-2}\ 2^{-3}\ 2^{-4}\)这是6位数字分别的含义可以很容易发现,浮点数的精度是一个很大的问题,对于一个十进制的四位小数,最小的精度是0.0001,而在二进制下这个数为1/16,这中间存在精度误差。而我们常见的整数往往都是由32位表示的,如何使用有限的有效数字进
本文记录算法中入门级别的8种简单排序算法。1.冒泡排序 2.选择排序 3.插入排序 4.堆排序 5.归并排序 6.快速排序 7.希尔排序 8.基数排序 代码实现: 1.抽象公共接口部分interface ISortMethod
{
转载
2024-05-06 10:06:26
77阅读