「这是我参与11月更文挑战的第20天,活动详情查看:2021最后一次更文挑战」。
算法
算法的概念
为解决问题而采取的方法和步骤称为算法。
术语
数据:能直接被计算机接收、识别、处理的一切符号。
数据结构:对数据的描述(即数据类型、组织形式、相互间关系)
指令:指示计算机进行操作(指令集和==指令系统)
程序:一系列指令
程序设计:设计、书写、检查的过程
程序语言:传达信息
程序==算法+数据结构(沃思公式)
方法步骤
1.分析问题。
2.确定处理方案。(建立数学模型)
3.确定算法。(设计)
4.编写程序。
5.上机运行,调试。
算法:
| 数值运算 | 非数值运算 |
|---|---|
| 求数值解 | 金融,财务,人事管理 |
计算机算法的表示
-
自然语言表述
-
N-S图 //注意for循环没有那一条竖线,且条件有Y和N
-
传统流程图
//起止框、输入输出框、处理框、判断框分辨清楚。
无论算法多么复杂,都是顺序、选择、循环三种基本构成单元。
算法特征
可行性、有穷性、确定性、有效性、拥有足够信息、有/无输入、至少一个输出
设计要求
正确性、可读性、健壮性、高效率和低存储量
数据类型和数据输入输出
十进制,二进制,八进制,十六进制转化
| 二 | 八 | 十 | 十六 |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 1 | 1 | 1 | 1 |
| 10 | 2 | 2 | 2 |
| 11 | 3 | 3 | 3 |
| 100 | 4 | 4 | 4 |
| 101 | 5 | 5 | 5 |
| 110 | 6 | 6 | 6 |
| 111 | 7 | 7 | 7 |
| 1000 | 10 | 8 | 8 |
| 1001 | 11 | 9 | 9 |
| 1010 | 12 | 10 | A |
| 1011 | 13 | 11 | B |
| 1100 | 14 | 12 | C |
| 1101 | 15 | 13 | D |
| 1110 | 16 | 14 | E |
| 1111 | 17 | 15 | F |
二、八、十六——–>十
按权相加
十——–>二、八、十六
连续除以奇数,整数部分除2取余,倒序排列,小数部分乘2取整,顺序排列。
二——–>八、十六
三位一组(八) / 四位一组(十六) 不足左边补零
原码、反码、补码
| 原码 | 反码 | 补码 | |
|---|---|---|---|
| 正数 | 最高位为符号位1为-,0为正 | 与原码同 | 与原码同 |
| 负数 | 最高位为1,其余为数值本身 | 最高位为1,其余取反 | 反码加1 |
eg:-128补码10000000,无原码和反码
计算机中以补码形式储存
有符号整数绝对值表达的最大位数是无符号的一半