杂七杂八

404joker404 Lv3

1

∧ 为与,∨ 为或,¬为非

2

在绝大多数编程语言中,如果if、for、while等语句的内容中仅有一条语句,可以省略花括号。

注意:是一条语句,不是一行。

    for (int k = 0; k < l; k++)
        std::cout << a[k] << " ";
    std::cout << std::endl;

该for只会执行”std::cout << a[k] << “ “;”这一条语句

3

XOR 异或运算在汇编中很常见,编译器经常用其来代替MOV EAX, 0。原因在于XOR只需要两个字节但对应的MOV指令却需要五个字节。

4

标志寄存器(Flag Register)是一个16位的寄存器,用于存储CPU运算的状态标志,例如进位标志、零标志、符号标志等。下面列出了x86架构CPU中的标志寄存器以及它们的含义:

标志位 中文名称 描述
CF 进位标志 当无符号整数加法或减法的结果超出了寄存器的宽度时,该标志位会被设置为1。CF=1表示有进位发生,CF=0表示无进位发生。
ZF 零标志 当一个操作的结果为零时,该标志位会被设置为1。ZF=1表示结果为零,ZF=0表示结果不为零。
PF 奇偶标志 当一个操作的结果中有偶数个二进制位为1时,该标志位会被设置为1。PF=1表示结果中有偶数个1,PF=0表示结果中有奇数个1。
AF 调整标志 当一个二进制算术操作(例如加法或减法)中低4位产生了进位或借位时,该标志位会被设置为1。AF=1表示有进位或借位发生,AF=0表示无进位或借位发生。
ZF 零标志 当一个操作的结果为零时,该标志位会被设置为1。ZF=1表示结果为零,ZF=0表示结果不为零。
SF 符号标志 当一个操作的结果为负数时,该标志位会被设置为1。SF=1表示结果为负数,SF=0表示结果为非负数。
TF 陷阱标志 该标志位用于单步调试,当TF=1时,CPU会在每个指令执行后暂停并等待调试器的命令。
IF 中断标志 该标志位用于控制CPU是否响应中断请求。当IF=1时,CPU允许中断请求;当IF=0时,CPU禁止中断请求。
DF 方向标志 该标志位用于控制字符串操作的方向,当DF=1时,字符串操作是从高地址向低地址进行的;当DF=0时,字符串操作是从低地址向高地址进行的。
OF 溢出标志 当有符号整数加法或减法的结果超出了寄存器的宽度时,该标志位会被设置为1。OF=1表示有溢出发生,OF=0表示无溢出发生。

5

magic number: 直译为幻数,常用来标记文件及协议格式,很多文件都有其幻数标识来标志该文件的格式。

下面为部分常见幻数类型
文件类型 文件头 文件尾
JPG FF D8 FF E0 FFD9
GIF 47 49 46 38
PSD 38 42 50 53
PNG 89 50 4E 47 AE 42 60 82
GIF 47 49 46 38 00 3B
BMP 42 4D
TIFF 49 49 2A 00
ZIP 50 4B 03 04 50 4B
MS Word/Excel (xls.or.doc) D0 CF 11 E0
PDF 25 50 44 46 2D 31 2E
RAR 52 61 72 21
XML 3C 3F 78 6D 6C
HTML 68 74 6D 6C 3E
EXE 4D 5A

注:有的文件没有文件头,比如 TXT。同时不同文件扩展名的 Magic Number 有可能相同,比如 APK 和 ZIP,因为 APK 本身就是以 ZIP 格式压缩的。

例图

另外:我们最初接触计算机时,就习惯把文件后缀叫做文件类型,文件后缀正确的叫法应该是文件扩展名(Filename Extension),它是早期操作系统用来标志文件格式的一种机制,更重要的作用是让系统决定运行该文件的应用。这是开发者和操作系统之间的一种约定,与文件的实际类型并没有绝对关系。 因此操作系统实际上靠magic number来识别文件的类型

6

域名

域名(Domain Name)是互联网上用于标识网站的名称。它由一个或多个部分组成,各部分之间用点号(.)分隔。域名结构是指域名的组成方式,即域名的各个部分所代表的含义。

顶级域名和二级域名是必选项,三级域名和四级域名则可以根据需要进行添加。

凡顶级域名前加前缀的都是该顶级域名的子域名,而子域名根据技术的多少分为二级子域名,三级子域名以及多级子域名。

域名记录表

域名层级 意义
顶级域名 (Top-Level Domain,简称TLD) 代表不同类型的组织或实体,即用于划分类别
二级域名 (Second-Level Domain,简称SLD) 通常用来表示特定主体或网站。
三级域名 (Third-Level Domain) 通常用来进一步细分网站或提供更多的信息。

部分实例

顶级域名:

  1. 通用顶级域名后缀 :.com表示商业机构,.net表示网络组织,.org表示非营利组织

  2. 新通用顶级域名后缀 :.top顶级域名。.xyz通用性和多功能性。.shop商店或购物。.art艺术或创意。.ltd有限责任公司。.baby亲子、婴幼儿相关主题。.bio展示个人或组织的简历、传记或介绍信息。.city城市或城市相关的内容或服务。

  3. 国别域名 :us代表美国,.uk代表英国,.kr代表韩国,.kp代表光之国朝鲜,.cn代表中国,.jp代表日本,.de代表德国,.fr代表法国,.it代表意大利,.ru代表俄罗斯,.ca代表加拿大,.au代表澳大利亚

二级域名: bilibili.com表示bilibili公司的网站,google.com表示谷歌的网站

三级域名: 这是看雪kanxue.com,而bbs.kanxue.com是看雪的论坛网站

7

在 C++ 中,*#define ERROR_SUCCESS 0L是一种宏定义,通常用于表示操作成功的返回值。*
这里的宏定义将标识符ERROR_SUCCESS定义为常量值0L。这个常量通常用于函数返回值,以表示操作成功完成。例如,在某些 API 或库函数中,返回值为ERROR_SUCCESS表示函数执行成功,其他非零值可能表示不同类型的错误。

ERROR_SUCCESS means “no error” in WINAPI.

EEROR_SUCCESS

0(0X0)

the operation completed successfully.

8

你肯定见过NTFS的分区类型,NT的意思为New Technology;

  • 标题: 杂七杂八
  • 作者: 404joker404
  • 创建于 : 2024-09-15 09:30:48
  • 更新于 : 2024-10-06 17:39:58
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论
此页目录
杂七杂八