老师要求我们学习反码 补码 还有源码的相关知识 首先是在网上找到了一些资料 普及了一些基础知识,这能帮助到我了解和掌握补码原理
一、基础知识补充
(1)计算机的语言表示:
在现代的计算机中主要采用的数字集成电路完成,数字电路通过高低电平只能表示0和1,所以就出现了,计算机只会识别0和1。无论是存储还是计算,计算机均采用二进制体系完成。
例如:十进制 4 ---------- 用二进制表示为 100
(2)计算机的基础单位和数据类型:
1. bit------------ 比特
2. byte --------- 字节 ------------- 1byte = 8bit
3. KB ------------ 千字节 ---------- 1KB = 1024byte
4. MB ----------- 兆 ---------------- 1MB = 1024KB
5. GB ----------- 吉字节 ---------- 1GB = 1024MB
6. TB ----------- 太字节 ---------- 1TB = 1024GB
7. PB ----------- 拍字节 ----------- 1PB = 1024TB
其中在C语言中的一些特定的数据类型存储也是有一定的范围的:
1. char -------- 1字节 2. short --------- 2字节
3. int -------- 4字节 4. long ---------- 4字节
5. long long -------- 8字节 6. float ---------- 4字节
7.double ---------- 8字节
(3)二进制数
数字在计算机中的二进制表示形式也被称为机器数,其中 二进制数有两个特点:
1. 二进制数是带符号的,即分正、负数。其中若是正数最高位显示 0 ,若是负数最高位显示 1
2. 二进制位通常也会受到数据类型的限制,比如 char 型 1 个字节 8 个比特位。
举例:int 2 ; ------------------二进制表示:00000000 00000000 00000000 00000010
然后就是正题了
1源码、补码、反码只能应用在整数中:正整数、负整数
2 在正整数中:源码 =反码 =补码
3在负整数中:如果是负数,将源码的符号位不变,其余各位取反,得到反码如果是负数,将反码 加 。1,得到补码
4.重点区分:整形表达式计算使用在内存中的是补码。打印和看到的都是源码。
而大家一般使用的是二进制,但在实际的操作中,我们就会明白补码,反码,源码的重要性。
使用源码运算正整数加法时没有问题的,因为正整数的源码=反码=补码。
针对于反码,其实弥补了源码不能实现减法运算的问题,但是最高位会发生进位,需要低位加1,此时的运算效率就会大大的降低。
补码应用在计算机二进制,计算、存储的编码格式,同时解决了源码的缺陷和反码的瑕疵。其中在高位溢出是,可以直接丢弃
大约就是这么多,具体的我也不太明白 还是要搞在今后的学习中慢慢地了解他。
关于上次的课堂考试,我只能说是真的难,我快要死了,当时巨饿,还好在同学的帮助下完成了,也就延迟了一个小时吧。以后继续努力哦。