原码
也叫 符号-绝对值码
最高位0表示正 1表示负,其余二进制位是该数字的绝对值的二进制位
原码简单易懂
加减运算复杂
存在加减乘除四种运算,增加了CPU的复杂度
零的表示不唯一
反码
反码运算不便,也没有在计算机中应用
移码
移码表示数值平移n位,n称为移码量
移码主要用于浮点数的阶码的存储
补码
已知十进制转二进制
求正整数的二进制
除2取余,直至商为0,余数倒叙排序
求负整数的二进制
先求与该负数相对应的正整数的二进制代码,然后将所有位取反,
末尾加1,不够位数,左边补一
#include <stdio.h>
int main()
{
int i = -3;
printf("%#X",i);
return 0;
}
结果是: 0XFFFFFFFD
求零的二进制
全是零
二进制转十进制
如果首位是0,则表明是正整数,按普通方法来求
如果首位是1,则表明是负整数
将所有位取反,末尾加1,所得数字就是该负数的绝对值
如果全是零,则对应的十进制数字就是零
学习目标:
在Vc++6.0中一个int类型的变量所能存储的数字的范围是多少
int类型变量所能存储的最大正数用十六进制表示是:7FFFFFFF
int类型变量所能存储的绝对值最大的负整数用十六进制表示是:80000000
绝对值最小负数的二进制代码是多少
最大正数的二进制代码是多少
已知一个整数的二进制代码求出原始的数字
数字超过最大正数会怎样
不同类型数据的相互转化