进制、补码

进制

1、什么叫n进制
逢n进一

2、把r进制转化为十进制
(10110)2 = 0 * 20 + 1 * 21 + 1 * 22 + 1 * 23 + 1 * 24

3、十进制转化为r进制
除r取余,余数倒序排列

4、不同进制所代表的数值之间的关系

十进制的 3981 转化成 十六进制的 F8D
所代表的本质上都是同一个数

5、小数的二进制

6、补码

原码 【也叫 符号-绝对值码】

 最高位0 表示正,1表示负,其余二进制位是该数字的绝对值的二进制位

   原码简单易懂
   加减运算复杂
   存在加减乘除四种运算,增加了CPU的复杂度
   零的表示不唯一

反码

 反码运算不便,也没有在计算机中应用

补码

十进制转二进制
正整数转二进制
     除2取余,直至商为0,余数倒叙排序
负整数转二进制
     先求与该负数相对应的正整数的补码,然后将所有位取反,末尾加一,不够位数时,左边补1
求零转二进制
     全是0 (补码的0的二进制代码是唯一的)

已知二进制求十进制

如果首位是0,则表明是正整数,按普通方法求
如果首位是1,则表明是负整数
将所有位取反,末尾加1,所得数字就是该负数的绝对值
如果全是0,则对应的十进制数字就是0

移码

  移码表示数值平移n位,n为移码量
  移码主要用于浮点数的阶码的存储

8位二进制所代表的十进制示意图

 二进制      	十进制 
 0000 0000 	       0 
 0000 0001	       1 
 …………	           … 
 0111 1111	      127 
 1000 0000	      -128 
 1000 0001	      -127 
 1000 0010	      -126 
 …………	            … 
 1111 1111	       -1

在Vc++6.0中一个int 类型的变量所能存储的数字的范围是多少(int 默认4个字节,32位)

  int 类型变量所能存储的最大正数用十六进制表示:7FFFFFFF
  int 类型变量所能存储的绝对值最大负整数用十六进制表示:80000000
    
    具体可以参见“8位二进制所代表的十进制示意图”

绝对值最小负数的二进制代码

 首位是1,后面全是0

最大正数的二进制代码

首位是0,后面全是1

已知一个整数的二进制代码求出原始的数字

数字超过最大正数会怎样

溢出,只会把最后面的保留下来

不同类型数据的相互转换

posted @ 2022-09-20 12:01  柯星  阅读(51)  评论(0编辑  收藏  举报  来源