基数与序数的规律

​ 对于一个数据, 要先判断是基数还是序数, 如果要计数,还要考虑是否包括边界 基数: 绝对的,有一个基底数, 日常生活中基底是1; 编程中一般是0; 常见的基数概念有 数量, 个数, 体积, 面积, 时间段, 年龄(周岁), 分数 序数: 相对的, 表示先后顺序, 常见的概念: 位次, 时间点 端点的开闭规律: 全开 ​ 基本的转换规律: 基数 = 序数 - based + 1 ...

June 11, 2026 · 1 min · 360 words

循环数组

需要三个变量:头下标l,尾下标r,队列的size 范围[l, r), size== r-l 加入元素: 判断size<capacity, 将x放入尾部, 尾部++(如果超过数组边界,返回到数组开头) size++ ...

June 11, 2026 · 1 min · 158 words

为什么叫补码

为什么叫补码(Two’s complement) 计算机的加减法运算天生是一个模2^N的同余类上的运算,满2^N会抛弃进位,那表示有符号数时使用同余类代表很正常吧,比如-1 = 2^N -1 (mod 2^N),-2 = 2^N-2 (mod 2^N),这实际上就是补码了。

March 17, 2025 · 1 min · 109 words

关于位图存储与数组下标存储的探讨

最近在看《编程珠玑》,书中的第一章提到了位图。位图存储使用二进制位的位数信息,来表示数字。例如,存储1、3、4、6、8,这五个数字, 可以使用<1, 0, 1, 1, 0, 1, 0, 1>这样的向量来表示,这样可以大大减少存储空间, 只用了一个字节(8bit),就可以存储原来需要的8个数字才能表示的信息。 ...

March 17, 2025 · 3 min · 1087 words

集合 列表 数组

集合 集合一般被定义为:由一个或多个确定的元素所构成的整体。 集合有什么特性呢? 首先,集合里的元素类型不一定相同。 你可以将商品看作一个集合,也可以将整个商店看作一个集合,这个商店中有人或者其他物品也没有关系。 ...

March 17, 2025 · 2 min · 841 words