码迷,mamicode.com
首页 > 其他好文 > 详细

1/10 .c--进制 获取变量地址

时间:2015-10-02 17:19:04      阅读:148      评论:0      收藏:0      [点我收藏+]

标签:

模块化编程的概念:把功能相似的函数封装到不同的文件中。

好处:

1)用的时候,只需包含.h的文件,对外隐藏源文件的实现。

2)团队的分工协作

3)可以把细化若干个模块

实现:创建.c 的C语言源文件,.h(header)头文件(可做方法的声明)

1)方法的声明,但是不能实现方法

2)声明变量

3)声明结构体

 

 

7-5(进制)

7 6 5 4 3 2 1 0   //数位
1 0 0 0 1 1 1 1  //数码

//位权=数码值*基数^数位 (基数=几进制基数就是几)

/*
10->2
     除2取余,把10进制数除于2,然后取得余数序列,再倒序。
2->10
    所有 位的位权相加
    eg:0101=1*2^0+0*2^1+1*2^2+0*2^3
                 =5
2->16
    4合1法,整数部分从右向左4位结合成1位,小数部分从左向右4位结合1位,不足部分高位补0

16->2
    1拆4法 16进制的1位拆成二进制的4位
0x         5          2        0        a
          0100   0010   0000  1010
*/

 

7-6   源码、反码、补码

源码:一个数绝对值的二进制表示,如果是“+”,则最高位“0”;

     如果是“-”,则最高位是“1”;

 

数据在计算机内都是以反码的形式存储的

 

正数:源码=反码=补码

负数:反码=除符号位以外的各位取反 (1->0,  0->1)

   补码:反码+1

 

为什么要引入反码:

为了计算机能够做成减法,减法电路设计更简单。

 

7-7  位运算介绍

运算符:运算符用来连接操作数,组成有意义的式子

分类:算术  关系  逻辑  位运算

位运算:用于二进制之间的运算 

    1)按位与& (判断一个整数的奇偶)获取一个数的最低位,让这个数与“1”进行按位与操作,若为0则是偶数  若位1则是奇数

    2)按位或 |

    3)取反 ~

    4)异或^

    5)>>右移

      6)<<左移

    

//按位与&
9&11  (同1则1,有0为0)
    00001001
&  00001011
-----------------
     00001001

//按位或 | (有1则1,同0为0)
9|11
    00001001
|   00001011
-----------------
    00001011

//~取反 (1变0,0变1)

//^异或 (相同为0,不同为1)

 

 左移<<位运算:各二进制位全部左移n位,高位丢弃,地位补0  (向左移动n位,相当于原数*2^n    左移可能改变一个数的正负性) 

 右移>>位运算:移出去的部分要舍弃,高位要补符号位 (右移不会改变一个数的正负性)一个数右移n位,值等于原值除于2^n,结果是整数部分

 

        00001000
<<      |    
----------------------    
       0000100000

 

 7-8 获取变量地址的方法

  %p  输出一个地址

 

  定义在函数中的变量我们称为局部变量。

 

  内存分配:先分配字节地址大的内存,再分配字节地址小的内存

 

  变量存储细节:

  低位字节存放在低地址

  高位字节存放在高地址

 

  变量首地址:变量在内存中占用的存储单元中地址最小的那个地址(取地址地址)

  

 

 

 

    

 

1/10 .c--进制 获取变量地址

标签:

原文地址:http://www.cnblogs.com/wlffly/p/4852381.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!