以往都是通过离线安装包或者在线安装器安装Qt,自动Qt不提供离线安装包以后,在某些无法联网的场景下只能通过源码编译安装。本次在 WSL 的环境下虽然可以联网,但权当一次体验编译安装的机会。

阅读全文 »

二进制小数

考虑十进制下的小数表示:[dmdm1d1d0d1d2dn][d_m d_{m−1}…d_1 d_0\cdot d_{−1} d_{−2}…d_{−n}],其中每个十进制数 did_i 取值范围是 0 90~9。这个表达式所描述的数值 dd 的定义为:d=Σi=nm10i×did= \Sigma^m_{i = -n}10^i\times d_i 。数字权的定义与小数点相关,在小数点的左侧,数字的权值是10的正幂,得到整数值。而小数点的右侧数字权值是10的负幂,得到小数值。如 12.341012.34_{10} 表示数字 1×101+2×100+3×101+4×102=12341001 × 10^1 + 2 × 10^0 + 3 × 10^{−1} + 4 × 10^{−2} = 12\frac{34}{100}
类似地,考虑一个形如 [bmbm1b1b0b1b2bn][b_m b_{m−1}…b_1 b_0\cdot b_{−1} b_{−2}…b_{−n}] 的表达式,其中的每个二进制数字 bib_i 的取值范围是 0011,这种表示方法表示的数定义为:b=Σi=nm2i×bib=\Sigma_{i=−n}^m 2^i × b_i 。同样的,小数点的左侧数字权值为 22 的正幂,右侧数字权值为 22 的负幂。如 101.112101.11_2 表示数字 1×22+0×21+1×20+1×21+1×22=5341 × 2^2 + 0 × 2^1 + 1 × 2^0 + 1 × 2^{−1} + 1 × 2^{−2} = 5\frac{3}{4} 。这种表示法称为浮点数的定点表示法。
如果仅考虑有限长度的编码,那么上述十进制小数无法准确表示如 1/3,5/71/3,5/7 这样的数。类似地,小数的二进制表示法也智能表示具有 x×2yx×2^y 形式的数,其他的值只能近似表示。

阅读全文 »

0x00 简介

一直在学习CS:APP这本书,本以为大名鼎鼎的Lab会出现在书本上,没想到一直看到第三章也没看见。在网上查了以下才知道是在线的。想想也十分合理,毕竟可能会经常有更新。这里就记录完成第一个Lab——DataLab的过程。

DataLab是使用受限的C语言运算子集来实现逻辑运算/补码运算/浮点运算的函数,例如,可能会要求仅使用位级运算和线性的过程来实现求绝对值的函数。这个Lab可以帮助理解C数据类型的位级表示和数据操作的位级行为。

阅读全文 »

0x00 定义

逻辑代数是代数的一个分支,与普通代数相比,逻辑代数主要定义了与,或,非三种运算,是用普通代数描述数字之间关系的方式来描述逻辑关系的形式主义[^wikipedia]。

逻辑代数是乔治·布尔(George Boole)在他的第一本书《逻辑的数学分析》(1847年)中引入的,并在他的《思想规律的研究》(1854年)中更充分的提出了逻辑代数。[^BooleGeorge]

阅读全文 »

CS:APP homework 2.66 题:

写出代码实现如下函数:
/*

  • Generate mask indicating leftmost 1 in x, Assume w = 32.
  • For example, 0xFF00 -> 0x8000, and 0x6000 -> 0x4000.
  • If x = 0, return 0
    */
    int leftmost_one(unsigned x);
    函数应该遵循位级整数编码规则,不过可以假设数据类型 int 有 w=32 位。
    你的代码最多只能包含15个算术运算,位运算和逻辑运算。
    提示:先将 x 转换成形如[0…011…1]的位向量。
阅读全文 »

CS:APP 家庭作业 2.65 题:

写出代码实现如下函数:
/* Return 1 when x contains an odd number of 1s; 0 otherwise
Assume w=32*/
int odd_ones(unsigned x);
函数应该遵循位级整数编码规则,不过你可以假设数据类型int有w=32位。
你的代码最多只能包含12个算术运算,位运算和逻辑运算。

阅读全文 »

GitHub Pages 是一项静态站点托管服务,它直接从 GitHub 上的仓库获取 HTML、CSS 和 JavaScript 文件,(可选)通过构建过程运行文件,然后发布网站。对于没有服务器和域名的广大人民群众来说,它简直就是搭建个人博客的首选托管平台。

Hexo是一个博客类的快速建站,快速部署脚手架,通过它,即使不具有任何前端知识,也可以快速地建立精美的个人博客网页。

阅读全文 »
0%