GrowGen | 整

J.Gong

2022-01-09

0.86min

定点数

二进制、十进制和十六进制的转化

对于2n2^n的 16 进制转化,最高位是2(nmod4)2^{(n \mod 4)},低位用n/4n/4个零补齐

nn2n(decimal)2^n(decimal)2n(hexadecimal)2^n(hexadecimal)
5320x20
2383886080x800000(3+4x5)

这个用的还比较多,比如一个 32 位的计算机,它可以寻址 0x0000~0xffff(0x10000-1),总共2322^{32}字节(4GB)。

显然 16 位中 A-F 和二进制、十进制的对应关系也需要熟记。

  • 0x605c + 0x5 = 0x6061
  • 0x605c - 0x20 = 0x603c
  • 0x605c + 32 = 0x607c
  • 0x60fa - 0x605c = 0x9e

字节序

字节序 endian 这个词源于「格列佛游记」里面一个国家因为吃鸡蛋要敲大端还是小端引发争议。这里面指老的计算机普遍以大端存储数据即主观方式存储,而现有的主流机器都以小端存储,即反向存储。

int a=0x12345678;在大端上 a 的第一个字节是 12 而小端则是 78。历史上也出现过大小端机器互通导致 Unix 打成 nUxi 的故障。

J.Gong

相关文章

Tags

book
csapp
深入理解计算机系统

© 2025 我的技术博客. 保留所有权利.

使用 Astro.build + Mantine 构建 | 部署在 Vercel