C语言简介之进制转换,原码、反码、补码,位运算符,函数

文章目录

  • 进制转换:
    • 十进制转二进制:(转其他进制)
    • 二进制转十进制:
    • 二进制转八进制:
    • 二进制转十六进制:
  • 原码、反码、补码:
  • 位运算符: & ,|, ~, ^, <<, >>
  • 函数:
    • 函数分类:
    • 函数声明:
    • 函数定义:
    • 函数调用:
    • 函数传参:

进制转换:

为什么要使用二进制、八进制、十六进制?
   因为现在的CPU只能识别高低两种电流,只能对二进制数数据进行计算
二进制虽然可以直接被CPU识别计算,但是不方便书写、记录,所以把二进制的数据转换成八进制的数据是为了方便记录到文档中。随着CPU的不断发展,位数不停增加,由早期的8位逐渐发展到现在的64位,因此八进制不再能满足需求,所以发展出十六进制,由于历史原因八进制还不能完全地退出历史舞台。

十进制转二进制:(转其他进制)

求余法:

   用2对数据求余,记录余数,然后继续对商求余,直到商为0结束,过程中产生的余数就是该数据的二进制(逆序)
     n % 2 = 0 | 1
     商 % 2 = 0 | 1
     直到商为0

求权法:

  从高位到低位,数据 - 2^(n-1),如果能减,第n位就是1,否则就是0

手算
   79    1001111
   63    111111
   121    1111001
   49   

你可能感兴趣的:(补码,c语言)