code2012

加油,坚持,努力,自信
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

[学习心得] 我总结的进制转换

Posted on 2011-01-04 22:59  code2012  阅读(966)  评论(0编辑  收藏  举报

一、十六进制转化为十进制
  例:2AF5换算成10进制:
   
  第1位: 5 * 160 = 5
  第2位: F * 161 = 240
  第3位: A * 162 = 2560
  第4位: 2 * 163 = 8192 +
  -------------------------------------
   10997
  直接计算就是:
  5 * 160 + F * 161 + A * 162 + 2 * 163 = 10997
  (别忘了,在上面的计算中,A表示10,而F表示15)
   
  现在可以看出,所有进制换算成10进制,关键在于各自的权值不同。
  假设有人问你,十进数 1234 为什么是 一千二百三十四?你尽可以给他这么一个算式:
  1234 = 1 * 103 + 2 * 102 + 3 * 101 + 4 * 100
  
  
  二、如何迅速将十六进制转换为二进制数呢?
  
  利用8、4、2、1凑 如 B(11) 就是8+0+2+1 所以是1011
  
  三、十进制转换成二进制数
  
  把要转换的数,除以2,得到商和余数,
  
  将商继续除以2,直到商为0。最后将所有余数倒序排列,得到数就是转换结果
  
  比如要转换6为二进制数。
  
   6 ÷ 2,得到商是3,余数是0。
   3 ÷ 2, 得到商是1, 余数是1
   1 ÷ 2, 得到商是0,余数是1
  
  现在商已经是0。
  
  我们三次计算依次得到余数分别是:0、1、1,将所有余数倒序排列,那就是:110了! 
  
  6转换成二进制,结果是110。
  10进制数转换成8进制的方法,和转换为2进制的方法类似,惟一变化:除数由2变成8
  10进制数转换成16进制的方法,和转换为2进制的方法类似,惟一变化:除数由2变成16
  
  四、二进制的转化
  二进制数要转换为十六进制,就是以4位一段,从右向左分。分别乘8、4、2、1、转换为十六进制。
  二进制数要转换为八进制,就是以3位一段,从右向左分。分别乘4、2、1、转换为八进制。
   如果一个二进制数很,长们还可以先将这个二进制转换成16进制,然后再转换为10进制,这样比较快速计算
  
  五、负数如何用二进制表达
  
  在计算机中,负数以其正值的补码形式表达。
  
  反码:将二进制数按位取反,所得的新二进制数称为原二进制数的反码。取反操作指:1变0; 0变1
  反码加1称为补码