「这是我参与2022首次更文挑战的第14天,活动详情查看:2022首次更文挑战」。
补码: 原码
也叫符号-绝对值码
最高位0表示正 1表示负,其余二进制位是该数字的绝对值的二进制位
原码简单易懂
加减运算复杂
存在加减乘除四种运算,增加了CPU的复杂度
零的表示不唯一
反码
反码运算不变,没在计算机中应用
移码
移码表示数值平移n位,n称为移码量
移码主要用于浮点数的阶码的存储
补码
十进制转二进制
正整数转二进制
除二取余,直至商为零,余数倒叙排序
负整数转二进制
先求与该负数相对应的正整数的二进制代码,然后将
所有位取反,末尾加一,不够位数时,左边补零
零转二进制
全是零
二进制转十进制
如果首位是零,则表明是正整数,按普通方法来求
如果首位是一,则表明是负整数
将所有位取反,末尾加1,所得数字就是该负数的绝对值
#include<stdio.h>
int main(void)
{
int i = -6;
printf("%#X\n",i);
int j = oxFFFF4;
printf("%d\n",j);
char ch = 0x66;
printf("%d\n",ch);
ch = 128;
printf("%d\n",ch);
return 0;
}
int类型变量所能存储的最大正数用十六进制是:7FFFFFFF; int类型变量所能存储的绝对值最大的负整数用十六进制表示是:80000000;
链表 算法:
通俗定义:解体的方法和步骤
狭义定义:对存储数据的操作
广义定义:广义的算法也叫泛型,无论数据如何存储,对该数据的操作都是一样的。
我们可以至少通过两种结构来存储数据:数组和链表
数组
优点:
存取速度快
缺点:
需要一个连续的很大的内存
插入和删除元素的效率很低
链表
专业术语
头结点:头结点的数据类型和首节点的类型是一模一样的
头结点是首节点前面的那个节点
头结点并不存放有效数据
设置头结点的目的是为了方便对链表的操作
头指针:存放头结点地址的指针变量
确定一个链表需要一个参数:头指针
首结点:存放第一个有效数据的节点
尾结点:存放最后一个有效数据的节点
优点:
插入删除元素效率高
不需要一个连续的很大的内存
缺点: 查找某个位置的元素效率低