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. DataGridView DataGridViewCheckBoxColumn编辑时实时触发事件

    正常响应CellValueChanged()事件时,当改变checkbox状态时,只有当焦点离开该单元格时才能触发CellValueChanged()事件, 如果要改变checkbox值时实时触发Ce ...

  2. HDOJ 1018 Big Number(大数位数公式)

    Problem Description In many applications very large integers numbers are required. Some of these app ...

  3. bzoj1823 [JSOI2010]满汉全席(2-SAT)

    1823: [JSOI2010]满汉全席 Time Limit: 10 Sec  Memory Limit: 64 MBSubmit: 1246  Solved: 598[Submit][Status ...

  4. Flask+Mysql搭建网站之其他笔记

    写在前面 之前用过python的另外一个框架,Django.感觉Django比Flask的资料要多.做这个网站的时候,遇到一些棘手的问题,怎么百度也就只能找到翻来覆去的官方文档以及miguelgrin ...

  5. 状压dp-poj-1170-Shopping Offers

    题目链接: http://poj.org/problem?id=1170 题目意思: 购物车里有b种(0=<b<=5)物品,每种物品告诉物品代号c(1=<c<=999),数量为 ...

  6. java常用包

    java的核心类都放在java这个包以及其子包下,java扩展的许多类都放在javax包以及其子包下.这些实用类也就是平时经常说的API(应用程序接口). 以下几个是java语言中常用包 java.l ...

  7. Android-Uiautomator:[5]停止monkey测试

    方法/步骤 1 其实停止很简单,无非就是结束掉monkey的进程即可 如何停止呢 2 ps命令  查找uiautomator的进程 打开cmd命令行窗口 输入: adb shell ps | grep ...

  8. MySQL高可用基础之keepalived+双主复制【转】

    环境:MySQL-VIP:192.168.1.3MySQL-master1:192.168.1.1MySQL-master2:192.168.1.2 OS版本:CentOS release 6.4 ( ...

  9. Windows下用C语言获取进程cpu使用率,内存使用,IO情况

      #ifndef PROCESS_STAT_H #define PROCESS_STAT_H   #ifdef __cplusplus extern “C” { #endif   typedef l ...

  10. boost 特点

    功能强大 跨平台 开源 免费 构造精巧 C++扩展库