本课程内容
- c
- c++
- 汇编
- 函数式编程
- 并发编程
- python
c语言是面向过程的语言,其主要是通过函数调用来进行编程。
c++是面向对象的语言,使用myobject->dothis的形式,即通过对象来进行处理。
汇编主要用于理解c语言的编译过程,函数调用等操作和c++中引用和类的实质。
函数式编程即在函数中不产生副作用,不改变原始的数据结构。在c和c++中经常会通过指针和引用来对传入函数的数据进行更改,通过副作用来进行编程。
并发编程如下图所示。处理器某一时刻只属于一个进程,不同进程之间交替执行。这导致不同进程在处理公共资源时,会出现问题。例如,当不同用户对同一账户进行处理时,查询金额和取钱操作要属于原子性事务,不然会产生问题。
python。介绍python的基本用法和网络编程相关内容。
类型
类型 | 字节大小 |
---|---|
bool | 1 |
char | 1 |
short | 2 |
int | 4 |
long | 4 |
float | 4 |
double | 8 |
注: 32位机型
不同类型在计算机中以2进制来进行表示,即0和1,每一位称为bit,每8bits组成一个字节。
对于char类型来说$2^8 = 256$,与ascii表中的字符一一对应,即每一个整数对应一个屏幕显示字符。
对于short、int和long这三种整数类型,有三种编码方式,即原码、反码和补码。
对于原码,首位作为符号位,正数首位为0,负数首位为1,例如short类型的8原码表示为 00000000 00001000, -8的表示为10000000 00001000。
对于反码,正数与原码一致,负数即为原码的负数除符号位外,其余取反,例如short类型的8反码表示为 00000000 00001000, -8的表示为11111111 11110111
对于补码,正数与原码一致,负数为正数取反+1,例如short类型的8原码表示为 00000000 00001000,-8的表示为11111111 11111000。
在计算机中使用补码来进行表示。
对于char、short、int和long,在小类型向大类型转换的过程中,使用符号位进行扩充,在大类型向小类型进行转换的过程中,仅保留低位。
对于浮点数的表示以float为例,如下图所示
图片来自于https://blog.csdn.net/shuzfan/article/details/53814424
用公式表为:
$$ (-1)^s \times 2^{epx-127} \times 1.M $$
其中s表示为符号位,指数部分为exp,尾数部分表示为M
因此,在整数与浮点数相互转换的过程中,需要重新进行计算。即5.0需变为$1.25 \times 2^{2}$, 在进行浮点数表示。
此外,在下面这种情况中,不会进行重新计算。
float f = 7.0;
short s = *(short*)&f; // 将f的比特位看成是short类型
0 10000001 11000000000000000000000按小端进行处理,即取低16位,即00000000 00000000