自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

列表里的点滴岁月

吾亦无它,唯手熟尔

  • 博客(32)
  • 资源 (27)
  • 收藏
  • 关注

原创 确定一个数二进制形式中 1 的个数

如何得出一个数二进制形式的 1 的个数 思考两个问题: 1 . 二进制形式中 1 的个数,需要把十进制转换成二进制麽 ? 根本没必要,数据在计算机中就是以二进制形式存储的,只是我们看到的是十进制而已,我操作十进制实际上就是在操作相应存储空间的二进制位数据。 2. 如何确定二进制形式中 1 的个数 ? 方法 1 . 移位操作:对

2017-04-09 16:28:51 438

原创 无符号数 0 ( 0 -1 == -1 ?)

无符号数运算 应该注意什么? 一:什么是无符号数 ? 无符号数(unsigned number) 是相对于有符号数而言的,指的是整个机器字长的全部二进制位均表示数值位,相当于数的绝对值。 有符号数(signed number) 和无符号数基本相同,不同的是:一般用最高有效位(MSB)来表示数的符号,正数用0表示,负数用1表示。

2017-04-09 09:38:04 11108

原创 变量的位屏蔽

清楚变量的某位 位的清除在嵌入式领域至关重要,配置寄存器的某些位相当方便 C++语言实现 #include <iostream>#define BIT_MASK(bit_pos) ( 0x1 <<( bit_pos ) )int Bit_Clear(unsigned int *val,unsigned char pos);int main(void){ unsigned in

2017-04-09 08:23:23 566

原创 计算机程序中数据类型的内存映像

数据的内存映像 基本数据类型的内存映像: 在计算机,字节(byte)是内存编址的基本单位,每个字节包含8位(bit)。考察一个变量占用了多少内存空间,即看他占用了多少字节。在C/C++中,sizeof(type) 是一个操作符,用于确定类型数据占用的字节大小。 像一些基本的数据类型: char 、short 、 int 、 long 、float 、 double

2017-04-08 19:24:25 607

原创 程序处理、加工的对象——数据

程序处理、加工的对象——数据 程序设计是用于干什么用的呢? 无非就是对数据进行处理。 当我们从事科研和工程项目时,首先当然是结合领域知识对问题进行分析,而后进行数学建模,最后通过计算机进行处理。 在计算机的世界里,数据代表了对数字模型的抽象化的概念,同时也代表了信息。 结合我们的日常生活,可以想象我们周围充满了各种各样的数据——文字、数字、声音、图片、动画以及更加复杂的多媒

2017-04-08 19:13:51 3706

原创 技术学习的通用方法

技术学习,两个重要的方法论: 重复、以赛代练 1 . 重复: 技能掌握最本质途径就是不断重复。中国的老祖宗们早就将这一真谛记录位耳熟能详的成语——熟能生巧。庖丁解牛的故事都是千百年来关于技能掌握的最好诠 释:无他,唯手熟尔。 2 . 以赛代练 : “以赛代练”的本质就是通过实战来快速提高技能。练习的目的就是为了比赛,所以直接在比赛中进行锻

2017-04-08 18:55:33 396

原创 知行合一

知与行——技能和知识的区别 编程语言的学习,归根结底是技能的学习。值得思考的是:技能与知识是有很大的不同的。 1 . 知识往往是“知道”或者“不知道”的问题,比如在你眼前放一辆自行车,如果你以前没有见过自行车,就会感到好奇。此时若有一个人告诉你,这是自行车,你便从此知道了什么是自行车了,你从不知道到知道这个过程就是知识的积累的过程,再自己的头脑中增加了一点关于自行车的

2017-04-08 18:46:53 326

原创 Unix设计思想——小而专注

内容来自 Mike Gancarz 的著作:《Linux and Unix Philosophy的总结 一 :小即是美 传统程序员的心中经常怀有一个编写出伟大软件的隐秘渴望,在着手开始开发项目时,他们往往要花数周,数月甚至数年的时间去开发一个能够解决世界上全部问题的程序。这种做法不仅商业代价高昂,而且也脱离现实。 其实,在现实世界中,只要把一些小巧的解决方案组合起来,几乎不存

2017-04-08 15:47:47 517

原创 思维修炼之逻辑学概述

我将从以下几个方面阐述逻辑学的相关知识 一 : 什么是逻辑学? 逻辑是智慧的开端,而不是终点。 ——伦纳德-尼莫伊 逻辑学既是一门学科,也是一门艺术,其核心思想就是帮助人们清晰高效地思考 。 二 : 为什么逻辑学非常重要? 1 . 我们知道有些人非常聪明伶俐,但逻辑性不是非常突出。他们有逻辑思考的潜能,也就是说他们具备高效

2017-04-08 10:54:37 694 1

原创 输出某年某月某日某时某分某秒的下一秒的时间:年、月、时、分、秒

利用C++语言实现日期时间增加一秒的结果:#include <iostream>#include <string>using namespace std;int ResetTheTime( int *year, int *month, int *day, int *hour, int *minute, int *second );int main( int argc, char const

2017-04-08 09:41:07 1494

原创 语言江湖(C++、Java、C#)

C/C++语言是计算机发展史上最成功、最具影响力的计算机编程语言,对于世界科技进步起到了巨大的推动作用。C语言是过程化编程语言的王者,而C++则在C语言的基础上加入了划时代的面向对象概念。后来的诸多有影响了的语言,包括Java、C#、Object C、PHP以及MATLAB这些科学计算语言,直接受到了C和C++的影响,从而成为其后生晚辈。 C和C++具有强大的底层控制力,是开发操作系统的语

2017-04-07 23:11:05 323

原创 Unix环境高级编程中头文件apue.h的问题

Unix环境高级编程一书几乎所有历程都用到了apue.h这头文件 很明显,这个文件不是系统定义自带的,而是编者自己设计的头文件,那么如何添加使得可用呢? 按照以下步骤可以解决问题: 1 . http://www.apuebook.com/下载 src.3e.tar,解压,比如我的电脑解压到了 /home/neo/unix_pros/src.3e/apue.3e 目录下 ;

2017-04-07 23:03:13 306

原创 CPU大小端判定

大小端模式判定方法 C 语言方法实现:#include <stdio.h>#include <stdlib.h>#include <string.h>int Is_Little_mode(void);int main(void){ if(Is_Little_mode()) puts("The CPU is little mode"); else

2017-04-07 22:39:44 324

原创 实现可移植的变量所有位设置1 的代码

在不知道处理器字长的情况下,如何变量所有bit 设置 位 1 的状态 different_type_int val = 0xffffffff ? 对么 ? 要是 这个处理器的是16位的怎么办呢? 难道移植的时候要修改成 0xffff ? 用 C ++语言实现#include <iostream>using namespace std;#define aint main(v

2017-04-07 22:25:25 233

原创 关于数组指针取值操作以及printf( )函数参数入栈的顺序

利用数组指针取值,以及printf( ) 参数入栈 C语言实现#include <stdio.h>int main(int argc,char *argv[]){ int arr[] = {6,7,8,9,10}; int *ptr = arr; printf("1: %d\n",*ptr); // *ptr = 6 ——> arr[0] = 6 ;

2017-04-07 22:12:01 537

原创 malloc(0)会发生什么?

malloc 用于分配 0 个字节,会发生什么? C++ 语言描述#include <iostream>#include <cstdio>#include <cstdlib>using namespace std;#define aint main(void){ char *ptr ; if ((ptr=(char *)malloc(0))==NULL)

2017-04-07 21:47:20 863

原创 Unix设计的哲学

了解Unix设计的哲学,有助于你更好地使用它 1 . 小既是美 相对于同类的庞然大物,小巧的事物有着无可比拟的巨大优势。 2 . 每个程序之作好一件事情 通过集中精力应对单一任务,程序可以减少很多冗余的代码,从而避免过高的资源开销、不必要的复杂性和缺乏灵活性。 3 . 尽快建立原型 短时间内建立设计原型,有助于提高效率。 4

2017-04-07 18:13:04 752

原创 Unix/Linux存在之必然性

在操作系统的发展史上,Unix无疑是最具价值的,其他OS无不深受其影响 下面介绍Unix本身以及一个类Unix的系统,Linux ,他们存在的必然性 一 . Unix存在之必然性 1 . Unix 是什么 ? Unix 是一个非常重要的操作系统,他诞生于1969年,最初内核实现者是AT&T公司的 Ken Thompson 。Ken Thompson 是贝尔实

2017-04-07 17:54:54 462

原创 逻辑与(&&) 和 自增(i++)

逻辑与操作 && A && B : 只有 A 和 B 同时为非 0 (真) 时,表达式的值 为 真(非零); && 通常运用与 if() ,while() ,for ()等需要判断真假的地方,他的值只有真和假 两种,需要和 按位与 (&) 区别 。 注意 i++ ,++i 中 i 的增加时机 。 举个例子 C++语言实现 #include <iostream

2017-04-07 12:17:52 713

原创 用宏定义实现 得到两个数的最值

使用两种宏定义的方法实现 得到两个数的最小值和最值 方法一: 利用三重条件运算符#include <stdio.h>#define MIN(A,B) ( (A) > (B) ? (B) : (A) )#define MAX(A,B) ( (A) > (B) ? (A) : (B) )int main(void){ printf("%d\n",MIN(12,334));

2017-04-06 20:51:42 6880 1

原创 预处理声明一个常数,用以表明 1 年有多少秒的问题(忽略闰年)

预处理#define 定义 SECONDS_PER_YEAR 计算一年多少秒 C 预处理器定义如下:#include <stdio.h>#define UL (unsigned long)#define SECONDS_PER_YEAR UL( 60 * 60 * 24 * 365 )int main(void){ printf( "%lu\n", SECONDS_PE

2017-04-06 20:32:34 2520

原创 vim 操作技巧

在vim中高效率编程的几个技巧 1 . 打开多个窗口,如何换 利用 ctrl+w 在多个视窗之间跳转 2 . 不用离开 Vim 也能编译代码: vim -u NONE -N main.c 然后在命令模式下:make 一下 利用命令 : copen 打开 错误列表 ,在源码文件和错误列表文件之间窗口切换,修改,在命令行模式下 w 保存修改,从新编

2017-04-05 23:16:18 406

原创 使用宏定义来获取一个结构体成员相对于该结构体首地址的偏移量

目的:获取一个结构体成员相对于该结构首地址的偏移量 C代码如下:#include <stdio.h>#define GET_OFFSET(data,member) (size_t)(&(((typeof(data)*)0)->member))typedef struct student{ int a; char ch[2]; double d;}student_

2017-04-05 19:53:22 4766 1

原创 C语言之 volatile 类型修饰符

volatile 类型修饰符 作用: volatile 是一个类型修饰符(type specifier)。它是被设计用来修饰被不同线程访问和修改的变量。 volatile 用于对变量修饰,对于C语言编译器而言,告诉编译器,除了当前执行线程外,其他的线程有可能改变内存,所以它的意思是”可变的” ,它告诉编译器不要对变量优化。 例如:int value; : 如果

2017-04-05 13:52:56 714

原创 《北大经典讲座》——读书杂谈

《北大经典讲座》——谈读书 作者:鲁迅 鲁迅认为读书的类型分为两类: 1. 职业的读书 2. 嗜好的读书 鲁迅对读书的建议: 1. 泛揽,找到兴趣 2. 带着思考和判读去读书,并且积极用于生活和学习。

2017-04-05 13:41:35 1382

原创 《北大经典讲座》——谈读书

《北大经典讲座》之 谈读书 作者:胡适之 书中自有千钟粟,书中自有黄金屋,书中自有颜如玉. 胡适之先生对为什么要读书的三点看法:因为书是过去已经知道的智识学问和经验的一种记录,我们读书可以接受人类的遗产。发扬光大,老祖宗的遗产,语言文字,印刷术,积累过去的智识和经验,节省脑力,改良,从头造轮子。读书而读书,读了书便可以读更多的书。小的可以放大,模糊的可以看清,远的变成近的,字不明白不

2017-04-04 23:17:44 1744

原创 思维修炼——总论

从上个世纪开始以来,随着超大规模集成电路的发展,也带动了软件行业的崛起,软件从无到有,不断发生变革,不断有新的语言产生,但是归根结底,作为一名软件开发人员所必需具备的最基础和最重要的东西依然不变。 软件的不是在集成开发环境或其他的工具中产生的,相反而是在我们的大脑中,创造出来的。 software is created in your head 考虑到社会各个团体之间错综复杂的影

2017-04-04 22:36:27 288

原创 #ifdef Macro_Value 等价于 #if defined (Macro_Value)

在Linux和u-boot源码里面,经常看到 #ifdef 和 #if defined ( ) 的用法:#include <stdio.h>#define hello_worldint main( void ){#if defined ( hello_world ) printf ( "hello world is defined.\n" );#endif #ifdef hello

2017-04-04 08:00:12 346

原创 第一章 绪论

提出下面几个问题:(是什么?)什么是Linux操作系统?他和其他的众多操作系统有什么关系?他哪里冒出来的?。(怎么样?)相比其他的操作系统,优势和劣势在体现在哪里?(有什么?) 作为最流行的非商业的操作系统,他由什么东西构建的?下面来简要的回答也上的问题?不足希望指出来以备完善。1. 说起Linux操作系统,就有一段故事说起来,具体的内容不说了,太长了。任何一个事物的发展 绝对

2016-08-03 17:47:59 256

原创 读《读大学,究竟读什么》感悟一

关键字:学会怀疑和批判性性思维、创新性思维、创新性系统的分析、独立提出问题、独立思考、独立解决问题 人贵为万物之灵长,万物至尊,人优于其他的生物最根本点就在于人有一个能思考的大脑。几千年以来的人类文明史的发展进程告诉我们,对待外界的事物不能恪守固有的理解,如果要想有长足的发展,学会怀疑当下的产物并且积极提出质疑和问题才是关键。问题是最好的老师,提出一个好的问题远远比解答一个难题来的有价值,因为

2016-08-01 18:04:20 1057

原创 uboot源代码第一阶段分析(感性认识)

源代码位置 cpu/arm920t/start.S 这个文件我们一般称之为 uboot的第一阶段代码,是 ARM GNU 汇编写成的,我们如何理解代码构思思路以现实社会作为背景来类比,这样方便理解记忆。cpu(火车头)以管理模式(SVC32 模式) 整个单板就像一列飞速疾驰的火车,一旦上电以后,他将飞快的速度运行,就是没有代码,他也照样以一定的频率(速度)跑。火车运

2016-07-31 23:02:45 530

原创 CPU内部怎么回事!(简单理解)

cpu里面到底如何工作的cpu 就是中央处理器的简称,是计算机系统的硬件核心部分;我们可以把cpu 类比成一个工厂加工工件的一个过程实体,类比理解;cpu里面有三个大的模块:控制单元 (老板)、逻辑单元(流水线)、存储单元(仓库);对于控制单元来说:这个“老板” 他非常的勤奋,只要给他通上一定的电压,他就按照一定的速度在整个“车间”里面不停地“运动”;他是工厂的指挥中心,他一共有三个“口袋”:

2016-07-31 21:51:15 748

The-Handy-Math-Answer

The-Handy-Math-Answer 数学是什么

2017-05-21

Fundamentals of Electric Circuits (5th)

Fundamentals of Electric Circuits (5th) 电路基础第五版(英文版)

2017-05-21

conceptual_physics

conceptual_physics 概念物理,国外经典教材

2017-05-21

keilC51(4)

keil 4 For 51 单片机

2017-05-19

Source Insight 配置文件(Vim风格)

Source Insight 配置文件(Vim风格)

2017-05-19

二进制计算器

BinCalc 二进制计算器,用于寄存器的配置

2017-05-19

C Programming Language

C Programming Language C程序设计语言 ( 英文版 )

2017-05-19

C程序设计语言

C Programming Language C程序设计语言(第2版·新版)中文版

2017-05-19

the standard C library

the standard C library C标准库 英文版

2017-05-19

Data Structures and Algorithm Analysis in C Second Edition Solutions Manual

Data Structures and Algorithm Analysis in C Second Edition Solutions Manual 数据结构和算法分析C语言描述第二版答案英文版

2017-05-19

高质量C编程

高质量C编程

2017-05-19

Vim实用技巧

Vim实用技巧

2017-05-19

Unix Network Programming - Volume 2 ( 2th Edition )

Unix Network Programming - Volume 2 ( 2th Edition ) Unix网络编程第二卷(英文版)

2017-05-19

The Developer's Guide to Debugging

null

2017-05-19

Linux内核完全注释

Linux内核完全注释,ISBN:9787111149682,作者:赵炯编著

2017-05-19

Embedded Linux Primer

Embedded Linux Primer 嵌入式Linux导论

2017-05-19

Data Structures and Algorithm Analysis in C ( 2th )

Data Structures and Algorithm Analysis in C ( 2th ) 算法与数据结构C语言描述

2017-05-19

C语言编程透视

C语言透视

2017-05-19

C语言深度剖析

C语言深度剖析

2017-05-19

现代控制系统(第八版)

现代控制系统(第八版)

2017-05-19

Modern_Control_Systems_12th_Edition_Solution_Manual

现代控制系统12版英文版答案

2017-05-19

Linux内核源代码情景分析

Linux内核源代码情景分析

2016-11-20

Unix环境高级编程第三版 English version

Linux系统编程的神书,懂得人不需要解释太多,不懂的人也不可能看到这个网页

2016-08-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除