第425章 位运算-《直播1980:网友教我手搓火箭》


    第(2/3)页

    “你当内存是你家大白菜,论吨批发的?”

    小戴眼镜滑到鼻尖,忘了扶。

    林希站起身,拿起粉笔。

    “一个字节几个比特?”

    小戴立刻回答:

    “8个。”

    “既然只有1和0两种状态。”

    林希在黑板上写下:

    0 0 0 0 0 0 0 0

    “一个字节,8个比特,天然就是8个开关。”

    “开,就是有。”

    “关,就是无。”

    “为什么要用完整整型记一个格子?”

    他用力写下几个符号:

    << >> &

    “位运算。”

    “左移,右移,按位与。”

    “一个字节管8个格子。”

    “10列棋盘,两个字节就够。”

    “20行,一共40个字节。”

    他转头看小戴:

    “400字节变40字节。”

    “省出来的空间,够你玩到第一百层。”

    小戴盯着黑板上那八个0。

    旁边有人下意识掰着手指数,数到第八下,手停在半空。

    一个字节,当八个格子用?

    还能这么玩?

    林希已经坐回键盘前。

    几行极简的汇编指令跳出来。

    位移。

    按位与。

    清除一行时,数据整体下移。

    没有花里胡哨的结构。

    没有臃肿的循环。

    干净得像一把剔骨刀。

    重新编译。

    运行。

    简陋的方块开始落下、堆积、消行。

    第五层。

    第十层。

    第十五层。

    画面依旧流畅。

    内存占用暴降八倍,纹丝不动。

    小戴盯着屏幕右下角的数字,半天才挤出一句:

    “……这也行?”

    研发室里只剩外面的风雪声。

    如果说“碰撞箱”是换一条路绕过大山。

    那“位运算”就是把一块铜板劈成八瓣花,还嫌不够省。

    直播间弹幕飞过:

    【给八十年代大学生一点小小的位运算震撼!】

    【逼急了,老派程序员能把代码掰碎塞进寄存器里。】

    【主播这是在给第一代程序员布道啊!】

    【2K内存:求求了,终于有人把我当人看了。】

    林希拍掉手上的粉笔灰。

    “今天这两招,刻在脑子里。”

    “以后写代码,先看手里有多大的碗,再决定下多少米。”

    这一次,没人再拍桌子。
    第(2/3)页