首页 > 代码库 > C语言高级程序设计——进制算法以及位算符号

C语言高级程序设计——进制算法以及位算符号

语言不够官方;意会;

数据储存运算是以二进制的,二进制数有原码 反码 补码三种。通常所说的二进制就是原码。(语言不官方)

原码 :4的原码可以为:0000 0100;最高位0 可以为符号数

反码:正数和原码相同,负数的符号位不变,其余位0变1,1变0

补码:正数和原码相同,负数的补码在反码的基础上加1(二进制存储是以补码来存的)

二进制八进制互转

    二转八:三位转一位;八转二:一位转三位;

二进制十进制互转

    二转十:按照8 4 2 1乘以各个位置数字;十转二:整数部分累除2取余数法,小数部分乘2取整法

二进制十六进制互转

    二转十六:四位转一位;十六转二:一位转四位;

八进制十进制互转

    八转十:同二转十原理相同;十转八:同十转二原理相同

八进制十六进制互转

    以二进制为中间量互转。

十进制十六进制互转

    十转十六:除以16取余,十六转十:乘以16取整

数据类型

short、int、long、char、float、double 这六个关键字代表C 语言里的六种基本数据类型。

类型转换

&:位与运算    两边都为1结果才能为1

|: 位或运算    只要一边为1结果就为1

^: 位异或运算    相同结果为0,不同为1

~: 位取反运算    0变1,1变0

<<:左移运算

>>:右移运算

在C语言中 对于无符号数,左移运算时右侧补0;右移运算时左侧补0; 对于有符号数,左移运算时右侧补0;右移运算时左侧补符号位; 在嵌入式中,规定移位都是无符号的(unsigned)。

 

以上都是知识点,有基础才能看懂!

在C语言中,重要的是多算。

 

C语言高级程序设计——进制算法以及位算符号