Golang-进制、源码反码补码、位运算

对于整数,有四种表示方式:
  1) 二进制:0,1 ,满 2 进 1。
  在 golang 中,不能直接使用二进制来表示一个整数,它沿用了 c 的特点。
  2) 十进制:0-9 ,满 10 进 1。
  3)八进制:0-7 ,满 8 进 1. 以数字 0 开头表示。
  4)十六进制:0-9 及 A-F,满 16 进 1. 以 0x 或 0X 开头表示。此处的 A-F 不区分大小写。

  

   进制图示

       

进制转换的介绍

  其它进制转十进制

  

     二进制如何转十进制

      

     八进制转换成十进制示例

       

      十六进制转成 10 进制

      

   十进制如何转成其它进制

    

     十进制如何转二进制

      

     十进制转成八进制

      

      十进制转十六进制

       

     二进制转换成八进制、十六进制

      

       二进制转换成八进制

        

       二进制转成十六进制

        

     八进制、十六进制转成二进制

      

       八进制转换成二进制

            

       十六进制转成二进制

        

   

二进制在运算中的说明

  二进制是逢 2 进位的进位制,0、1 是基本算符。

  现代的电子计算机技术全部采用的是二进制,因为它只使用 0、1 两个数字符号,非常简单方便,易于用电子方式实现。计算机内部处理的信息,都是采用二进制数来表示的。二进制(Binary)数用 0和 1 两个数字及其组合来表示任何数。进位规则是“逢 2 进 1”,数字 1 在不同的位上代表不同的值,按从右至左的次序,这个值以二倍递增。

  在计算机的内部,运行各种运算时,都是以二进制的方式来运行。

原码、反码、补码

  

 位运算符和移位运算符

  Golang 中有 3 个位运算

  分别是”按位与&、按位或|、按位异或^,它们的运算规则是: 按位与& : 两位全为1,结果为 1,否则为 0
  按位或| : 两位有一个为 1,结果为 1,否则为 0
  按位异或 ^ : 两位一个为 0,一个为 1,结果为 1,否则为 0
  案例练习
  比如:2&3=? 2|3=? 2^3=?

        

Golang 中有 2 个移位运算符:
  >>、<< 右移和左移,运算规则:
  右移运算符 >>:低位溢出,符号位不变,并用符号位补溢出的高位左移运算符 <<: 符号位不变,低位补 0

  案例演示

  a := 1 >> 2 // 0000 0001 =>0000 0000 = 0

  c := 1 << 2 // 0000 0001 ==> 0000 0100 => 4

  

原文地址:https://www.cnblogs.com/Essaycode/p/12641175.html