iOS培训,iOS学习---------型技术博客、期待与您交流!------------

一、各种进制的总结

1.二进制
(1) 在c语言中二进制以0b开头,输出二进制格式没有固定的格式,自定义输出二进制格式的函数可以如下定义:
#include <stdio.h>

int main()
{
    void  printfBinary(int);
    
    printfBinary(20);
    
    return 0;
}

void printfBinary(int n)
{
    int bits = sizeof(int) * 8;  //计算出整型变量所占的字节数
    while (bits-->0) {
        
        //n的二进制形式向右移动bits个字节,然后同1进行按位与运算,保留原来的数值,进行打印。
        printf("%d", n>>bits&1);
        
               if (bits%4 == 0) {
            printf(" ");
        }
    }
}

2. 八进制
八进制以 0 开头, 使用 %o 输出整数,不带符号
 
3. 十六进制
十六进制以0x开头,使用 %x 输出整数
4. 十进制
 
c语言中除了上述三种格式的进制数外,普通的数据就是以十进制表示的。使用 %d 输出带符号整数, %u 输出不带符号整数
二、互换两个变量值的方法

1.借助中间变量值的方法进行互换
假如两个变量的值分别为: int a = 5, b=6;  如果通过另一个变量来交换,具体的代码如下:

void swap()
{
    int a = 5, b=6;
    
    int c = a;  //现将a的值放入c中
    a = b;
    b= c;
}

2. 直接交换

  1. a = b - a;   //原来a变成两值之差
  2. b = b - a;   //原来b的值变为a
  3. a = b + a;   //原来a的值变为b

3. 根据位或运算进行交换,利用位或运算定律 即 a^b^a = b

  1. a = a ^ b;
  2. b = a ^ b;
  3. a = a ^ b;

4.交换两个数的做法,让我想起一个面试题,如下

 
有两个杯子,分别为A = 5ml 和B = 3ml ,问怎么得到4ml 水, 水是无限的,但是不能使用另外的容器,此题想到有两个方法:

(1) 先将盛满水的A倒入 B 中,然后再将B容器倒出,剩余的A = 2 再倒入B ,  盛满 A 再倒入 B,这时A =4ml;

   (2)    先将盛满的 B 倒入 A中 ,然后 再盛满B 倒入A中, B 这时为1ml ,倒出A,将B倒入A,然后 ,盛满B再倒入A 即可得 A=4ml;
 
 
 
 
 

黑马程序员——C语言开门片内存分析的更多相关文章

  1. 黑马程序员—C语言的函数、数组、字符串

    ------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 一.函数 定义:函数是代码复用的一种机制. 函数的基本语法: 返回类型 函数名 ( 参数类型 参 ...

  2. 黑马程序员——C语言基础 内存剖析

    Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)进制 进制是一种计数的方式,数值的表示形式.有多种进制十进制.二进制 ...

  3. 黑马程序员——C语言基础语法 关键字 标识符 注释 数据及数据类型

    Java培训.Android培训.iOS培训..Net培训.期待与您交流! (一下内容是对黑马苹果入学视频的个人知识点总结) (一)C语言简单介绍 (1)C语言程序是由函数组成的任何C语言程序都是由一 ...

  4. 黑马程序员——C语言基础 char字符 数组

    Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)char类型 1)存储细节 ASCII单字节表(双字节GBK\GB2 ...

  5. 黑马程序员—创建JDBC框架及原理分析

    对于Java数据库的连接,由最初学习的每次全部手工代码,到后面的不断利用知识简化代码量:这是不断学习的过程,就像人类由原始社会的钻木取火到当代的文明,都是一步步过来的! 本文不从最开始的JDBC入门开 ...

  6. 黑马程序员——OC语言 内存管理

    Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)计数器 每个对象内部都保存了一个与之相关联的整数,称为引用计数器,当 ...

  7. 黑马程序员——C语言基础 scanf函数 基本运算 三目运算符

    Java培训.Android培训.iOS培训..Net培训.期待与您交流! (一下内容是对黑马苹果入学视频的个人知识点总结) (一)scanf函数 1>  简单介绍一下scanf函数   这是在 ...

  8. 黑马程序员——C语言基础 函数

    Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)函数的定义 1> 任何一个C语言程序都是由一个或者多个程序段( ...

  9. 黑马程序员——OC语言基础语法 面向对象的思想

    Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结)(一)基础语法 1)关键字 @interface.@implementati ...

随机推荐

  1. Javascript语法基础

    Javascript语法基础   一.基本数据类型   JavaScript中支持数字.字符串和布尔值三种基本数据类型: 1.数字 数字型是JavaScript中的基本数据类型.在JavaScript ...

  2. Graph Search图谱搜索

    来自百度百科的解释: Graph Search为2013年1月16日,Facebook首席执行官马克·扎克伯格(Mark Zuckerberg)在门罗帕克公司总部召开的新闻发布会上宣布推出社交搜索工具 ...

  3. 【转】如何开启notepad++函数列表功能

    原文网址:http://jingyan.baidu.com/article/4b07be3c41e05e48b380f3f6.html Notepad++是window下特有的一款开源编辑器软件,相信 ...

  4. JavaScript权威指南学习笔记5

    下午在杭图回去前看了书中第二部分的13-17章,看的很粗,感觉大部分东西自己已经知道或者平时开发中不会用到,很多章节只是简单的翻了一下,没有仔细思考里面说到的道理,下面对各章节简单的记录下. 第13章 ...

  5. XJOI——NOIP2015提高组模拟题19-day1——观光旅行

    http://www.hzxjhs.com:83/contest/493/problem/3 [题目大意] 给定一个有n(n<=500000)个点,m(1<=500000)条边的无向图.给 ...

  6. HTML父子页面通信问题(showModalDialog)

    1. showModalDialog参数说明 window.showModalDialog(URL, ARGS,Features)(在父窗口中调用打开新的窗口) URL          --  必选 ...

  7. 自动化测试——case编写

    简单总结一下最近项目里遇到的问题和解决的方法,可能不全,因为之前做的时候太匆忙了,很多点都没有记录下来,能记得多少是多少吧.纲巴蝶! 1. 问题:犯错误,新增case后忘记把编码也写上去了,后来跑脚本 ...

  8. Hive学习笔记【转载】

    本文转载自:http://blog.csdn.net/haojun186/article/details/7977565 1.  HIVE结构 Hive 是建立在 Hadoop 上的数据仓库基础构架. ...

  9. Java基础知识强化75:正则表达式之分割功能(字符串中的数字排序案例)

    1. 案例分析: 我有如下一个字符串:"91 27 46 38 50" 写代码实现最终输出结果是:"27 38 46 50 91" 分析:    (1)定义一个 ...

  10. Swift中面向协议的编程

    什么是面向协议的编程? 面向协议的编程,是一种编程范式. 编程范式,是一个计算机科学用语.维基百科中的解释是,计算机编程的基本风格或典型模式.通俗来说,就是解决某一个问题的方法不同方法和思路. 像大家 ...