未知数的博客

归档 · 全部

首页

关于

归档

loading..
字节序

字节序/比特序

大端序/小端序 ​ 字节序即字节的存储顺序,如果数据都是单字节的,那怎么存储无所谓了,但是对于多字节数据,比如int,double等,就要考虑存储的顺序了。字节序是硬件层面的东西,通常只和你使用的处理器架构有关,而和编程语言无关。字节序分为大端序和小端序。 大端序:将高序字节存储在起始地址,一个占有4个字节类型的数据0x00112233在内存中如下分布: 小端序:将低序字节存储在起始地址,数据0x00112233在内存中如下分布: 比特序/位域 ​ 位域的写入顺序和当前系统字节序有关:先定义的位域在大端环境从最高bit位(MSB)开始分配。如果为小端环境则先定义的位域从最低bit位(LSB)开始分配。(CPU操作内存还是以字节为单位的) struct bitfield { uint8_..

更多
驱动

Linux字符设备驱动与杂项设备驱动

字符设备驱动 graph LR A[字符设备驱动框架]-->B1[驱动初始化] B1[驱动初始化]-->C1[分配设备号] C1[分配设备号]-->D1[静态分配设备号] D1[静态分配设备号]-->E(register_chrdev_region) C1[分配设备号]-->D2[动态分配设备号] D2[动态分配设备号]-->F(alloc_chrdev_region) C1[分配设备号]-->D3[操作设备号dev_t] D3[操作设备号dev_t]-->Z1(MAJOR提取主设备号) D3[操作设备号dev_t]-->Z2(MINOR提取主设备号) D3[操作设备号dev_t]-->Z3(MKDRV将..

更多
loading..
极大极小值

人机对弈

背景 ​ 小时候在FC上玩过象棋游戏,印象最深的就是那个老头,每次走棋贼慢同时棋力也特高。一直想了解下人机对弈的算法,看了几篇文章后,发现基本的套路都是一样的,自己写了一个小时候玩的两口吃一口的小游戏。 棋类AI基本步骤(以下都是基于两口吃一口这个小游戏) 局面生成:棋子种类、开局位置 // 5x5 棋盘,黑方和白方初始时都有5颗棋子 /* 0 1 2 3 4 ┌─────────┐ 0│○─○─○─○─○│ 1│├─┼─┼─┼─┤│ 2│├─┼─┼─┼─┤│ 3│├─┼─┼─┼─┤│ 4│●─●─●─●─●│ └─────────┘ */ std::string GenBoard(int row, int col, int colNum, int rowNum, std::map<..

更多
问题定位

踩内存

​ 对于C/C++程序员来说,踩内存问题是最难分析定位的,往往问题的源头都比较隐蔽,让人很难排查出问题的根源所在。

更多
14567