<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[all8023的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/all8023</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; all8023]]></copyright><item><title><![CDATA[C/C++浮点数在计算机中的表示]]></title><link>https://blog.youkuaiyun.com/all8023/article/details/38847351</link><guid>https://blog.youkuaiyun.com/all8023/article/details/38847351</guid><author>all8023</author><pubDate>Tue, 26 Aug 2014 14:41:45 +0800</pubDate><description><![CDATA[C/C++浮点数在内存中的存储方式
       任何数据在内存中都是以二进制的形式存储的，例如一个short型数据1156，其二进制表示形式为00000100 10000100。则在Intel CPU架构的系统中，存放方式为  10000100(低地址单元) 00000100(高地址单元)，因为Intel CPU的架构是小端模式。但是对于浮点数在内存是如何存储的?目前所有的C/C++编译器都是]]></description><category></category></item><item><title><![CDATA[二叉树的遍历]]></title><link>https://blog.youkuaiyun.com/all8023/article/details/38445303</link><guid>https://blog.youkuaiyun.com/all8023/article/details/38445303</guid><author>all8023</author><pubDate>Fri, 08 Aug 2014 21:13:21 +0800</pubDate><description><![CDATA[二叉树的非递归遍历




                                                            二叉树的非递归遍历
         二叉树是一种非常重要的数据结构，很多其它数据结构都是基于二叉树的基础演变而来的。对于二叉树，有前序、中序以及后序三种遍历方法。因为树的定义本身就是递归定义，因此采用递归的方法去实现树的三种遍历不仅容易理]]></description><category></category></item><item><title><![CDATA[python 获取当前时间]]></title><link>https://blog.youkuaiyun.com/all8023/article/details/19037821</link><guid>https://blog.youkuaiyun.com/all8023/article/details/19037821</guid><author>all8023</author><pubDate>Mon, 10 Feb 2014 14:45:10 +0800</pubDate><description><![CDATA[python 获取当前时间  


python 获取当前时间
问题：
想要用python语句得到类似‘2012-09-07’格式的时间
 
解决：
需要用到python time模块：
import time
 
1）取得当前时间的时间戳（时间戳好像是1970年到现在时间相隔的时间）：
print time.time()
输出的结果是：1346999692.71
 ]]></description><category></category></item><item><title><![CDATA[python 对于json数据的操作]]></title><link>https://blog.youkuaiyun.com/all8023/article/details/18793317</link><guid>https://blog.youkuaiyun.com/all8023/article/details/18793317</guid><author>all8023</author><pubDate>Sun, 26 Jan 2014 11:42:34 +0800</pubDate><description><![CDATA[Json概述以及python对json的相关操作




什么是json：
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集。]]></description><category></category></item><item><title><![CDATA[TCP 3次握手]]></title><link>https://blog.youkuaiyun.com/all8023/article/details/17360867</link><guid>https://blog.youkuaiyun.com/all8023/article/details/17360867</guid><author>all8023</author><pubDate>Mon, 16 Dec 2013 21:25:04 +0800</pubDate><description><![CDATA[TCP3次握手/4次握手 








在TCP/IP协议中，TCP协议提供可靠的连接服务，采用三次握手建立一个连接，如图1所示。
 (1) 第一次握手：建立连接时，客户端A发送SYN包(SYN=j)到服务器B，并进入SYN_SEND状态，等待服务器B确认。
 (2) 第二次握手：服务器B收到SYN包，必须确认客户A的SYN(ACK=j+1)，同时自己也发送一个SYN包(]]></description><category></category></item><item><title><![CDATA[union的用法以及struct的初始化]]></title><link>https://blog.youkuaiyun.com/all8023/article/details/17200641</link><guid>https://blog.youkuaiyun.com/all8023/article/details/17200641</guid><author>all8023</author><pubDate>Sun, 08 Dec 2013 14:48:55 +0800</pubDate><description><![CDATA[在C/C++程序的编写中，当多个基本数据类型或复合数据结构要占用同一片内存时，我们要使用联合体；当多种类型，多个对象，多个事物只取其一时（我们姑且通俗地称其为“n 选1”），我们也
可以使用联合体来发挥其长处。首先看一段代码：

union myun 
{
struct { int x; int y; int z; }u; 
int k; 
}a; 
int main() 
{]]></description><category></category></item><item><title><![CDATA[Linux设备驱动---poll函数]]></title><link>https://blog.youkuaiyun.com/all8023/article/details/16860577</link><guid>https://blog.youkuaiyun.com/all8023/article/details/16860577</guid><author>all8023</author><pubDate>Thu, 21 Nov 2013 14:22:08 +0800</pubDate><description><![CDATA[一个完整的poll函数其实包括3部分。应用层，系统API接口，底层驱动。读者可以读下do_sys_poll(fs/select.c)源码，很简单，这里只总结重点。

应用层
int poll(struct pollfd *fds, nfds_t nfds, int timeout);
注意：1.nfds_t 为数组pollfd的个数，而内核则为数组fds的内存大小 即sizeof(fds[]]></description><category></category></item><item><title><![CDATA[shell脚本---回文检测]]></title><link>https://blog.youkuaiyun.com/all8023/article/details/14483755</link><guid>https://blog.youkuaiyun.com/all8023/article/details/14483755</guid><author>all8023</author><pubDate>Thu, 07 Nov 2013 21:00:12 +0800</pubDate><description><![CDATA[参照《Linux shell 脚本攻略》写的一个回文检测的程序，用于检查一个字符串是否为回文。
程序：]]></description><category></category></item><item><title><![CDATA[Linux设备驱动---USB驱动骨架分析(skeleton.c)]]></title><link>https://blog.youkuaiyun.com/all8023/article/details/14454945</link><guid>https://blog.youkuaiyun.com/all8023/article/details/14454945</guid><author>all8023</author><pubDate>Thu, 07 Nov 2013 17:34:47 +0800</pubDate><description><![CDATA[Usb_skeleton.c，是USB驱动的框架，适合USB驱动的初学者。

1．结构体

内核其实就是一坨坨的数据结构，加上一根根链表。

对于初学者，如果直接看USB驱动代码，大概会被那些名字相近的结构体弄得晕头转向，比如usb_host_interface和usb_interface，看着看着就把两个混淆了。所以，在学习USB驱动之前，建议把相关结构体都拎出来看一下，其实，也就那]]></description><category></category></item><item><title><![CDATA[Linux内核引用计数]]></title><link>https://blog.youkuaiyun.com/all8023/article/details/14451943</link><guid>https://blog.youkuaiyun.com/all8023/article/details/14451943</guid><author>all8023</author><pubDate>Thu, 07 Nov 2013 15:16:49 +0800</pubDate><description><![CDATA[众所周知，C/C++语言本身并不支持垃圾回收机制，虽然语言本身具有极高的灵活性，但是当遇到大型的项目时，繁琐的内存管理往往让人痛苦异常。现代的C/C++类库一般会提供智能指针来作为内存管理的折中方案，比如STL的auto_ptr，Boost的Smart_ptr库，QT的QPointer家族，甚至是基于C语言构建的GTK+也通过引用计数来实现类似的功能。Linux内核是如何解决这个问题呢？同样作为C]]></description><category></category></item><item><title><![CDATA[Linux设备驱动---PCI总线]]></title><link>https://blog.youkuaiyun.com/all8023/article/details/14161489</link><guid>https://blog.youkuaiyun.com/all8023/article/details/14161489</guid><author>all8023</author><pubDate>Tue, 05 Nov 2013 09:49:05 +0800</pubDate><description><![CDATA[浅谈 Linux 内核开发之 PCI 设备驱动






PCI 介绍

随着计算机应用的不断更新和发展（比如百兆网卡、视屏流等），计算机内数据传输的带宽要求越来越高，传统内部总线带宽已经远远不能满足这些应用的需要，因此人们推出了 PCI 总线标准

PCI 是 Peripheral Component Interconnect 的缩写，它因为高性能、低成本以及良好的扩展性]]></description><category></category></item><item><title><![CDATA[shell 脚本---统计文件中单词的频率]]></title><link>https://blog.youkuaiyun.com/all8023/article/details/14146247</link><guid>https://blog.youkuaiyun.com/all8023/article/details/14146247</guid><author>all8023</author><pubDate>Mon, 04 Nov 2013 22:17:32 +0800</pubDate><description><![CDATA[#! /bin/bash
if [ $# -ne 1 ]
then
echo "Usage:$0 args error"
fi
filename=$1
egrep -o "\b[[:alpha:]]+\b" $filename | awk ' { count[$0]++ } 
END{printf("%-14s%s\n","Word","Count");
for(inq in co]]></description><category></category></item><item><title><![CDATA[有符号数与无符号数在计算机中的表示]]></title><link>https://blog.youkuaiyun.com/all8023/article/details/13996449</link><guid>https://blog.youkuaiyun.com/all8023/article/details/13996449</guid><author>all8023</author><pubDate>Fri, 01 Nov 2013 09:40:15 +0800</pubDate><description><![CDATA[有符号数的第一位用来标识符号位，而无符号数只能表示正数。
 
区别：（以4位数表示）
 
有符号数0000 到0111（0到7）   +    1000到1111（-8到-1）
在计算机中数是用补码来存储的，正数的补码和原码一样，负数的补码等于符号位不变其他位取反再加1。当达到最大正数0111（7的补码），再加1时为1000（补码）。
负数补码的绝对值是连符号位取反加1，然后看成无符号]]></description><category></category></item><item><title><![CDATA[shell脚本---统计文件夹下文件类型信息]]></title><link>https://blog.youkuaiyun.com/all8023/article/details/13980383</link><guid>https://blog.youkuaiyun.com/all8023/article/details/13980383</guid><author>all8023</author><pubDate>Thu, 31 Oct 2013 22:56:34 +0800</pubDate><description><![CDATA[#! /bin/bash


if [ $# -eq 1 ];
then
echo $0 basepath
echo 
fi


path=$1
declare -A array;


while read line;
do
  ftype=`file -b $line`
  let array["$ftype"]++;
done


echo +++++]]></description><category></category></item><item><title><![CDATA[shell脚本---查找并删除重复的文件]]></title><link>https://blog.youkuaiyun.com/all8023/article/details/13743633</link><guid>https://blog.youkuaiyun.com/all8023/article/details/13743633</guid><author>all8023</author><pubDate>Wed, 30 Oct 2013 21:22:11 +0800</pubDate><description><![CDATA[#! /bin/bash

ls -lS | awk 'BEGIN {
getline;getline;
name1=$8;size=$5 } 
{ name2=$8;
if (size==$5)
{


md5sum name1 | getline; md51=$1;
md5sum name2 | getline; md52=$1;
if ( md51==md52 )
]]></description><category></category></item><item><title><![CDATA[取某一位的值]]></title><link>https://blog.youkuaiyun.com/all8023/article/details/13630325</link><guid>https://blog.youkuaiyun.com/all8023/article/details/13630325</guid><author>all8023</author><pubDate>Wed, 30 Oct 2013 16:52:51 +0800</pubDate><description><![CDATA[在嵌入式编程中经常遇到取某一位的值，可以通过将数据与位掩码相&来取出那一位对应的值。
例子：
#include
int main()
{
int data=5;
if(data&0x04)
printf("The third bit of %d is %d\n",data,(data&0x04)>>2);
else
printf("The third bit of %d is 0]]></description><category></category></item><item><title><![CDATA[Linux设备驱动---/proc文件系统]]></title><link>https://blog.youkuaiyun.com/all8023/article/details/13295167</link><guid>https://blog.youkuaiyun.com/all8023/article/details/13295167</guid><author>all8023</author><pubDate>Mon, 28 Oct 2013 15:55:40 +0800</pubDate><description><![CDATA[in Linux, proc文件系统是一个虚拟文件系统，用户和应用程序可以通过proc文件系统得到当前的一些系统信息，并可以改变一些内核的参数。/proc下的文件是一种特殊文件，不能够像一般文件一样创建删除。下面讨论proc文件的创建、删除与读写。

1.创建目录：




[c] view
 plaincopy






struct proc_dir_entry]]></description><category></category></item><item><title><![CDATA[C语言字符串的长度与大小]]></title><link>https://blog.youkuaiyun.com/all8023/article/details/12968905</link><guid>https://blog.youkuaiyun.com/all8023/article/details/12968905</guid><author>all8023</author><pubDate>Wed, 23 Oct 2013 12:58:17 +0800</pubDate><description><![CDATA[在C语言中没有string类型的数据，要想表示字符串一般有两种形式：
1.字符数组
字符数组表示字符串可以有两种方式：
（1）char str1[ ]="aaaaa";
此种方法声明的字符串本质上是字符数组，在赋值前数组大小还没有确定。在赋值后编译器会自动在“aaaaa”后加上’\0‘以表示字符串的结尾，此时str1中存储的数是“aaaaa\0”，数组的大小为6。
（2）char str]]></description><category></category></item><item><title><![CDATA[统一编址与独立编址]]></title><link>https://blog.youkuaiyun.com/all8023/article/details/12838125</link><guid>https://blog.youkuaiyun.com/all8023/article/details/12838125</guid><author>all8023</author><pubDate>Thu, 17 Oct 2013 15:36:19 +0800</pubDate><description><![CDATA[引言：
        从CPU连出来一把线：数据总线、地址总线、控制总线，这把线上挂着N个接口，有相同的，有不同的，名字叫做存储器接口、中断控制接口、DMA接口、并行接口、串行接口、AD接口……一个设备要想接入，就用自己的接口和总线上的某个匹配接口对接……于是总线上出现了各种设备：内存、硬盘，鼠标、键盘，显示器……

        对于CPU而言，如果它要发数据到某个设备，其实是发到对应]]></description><category></category></item><item><title><![CDATA[Linux内存机制]]></title><link>https://blog.youkuaiyun.com/all8023/article/details/12710171</link><guid>https://blog.youkuaiyun.com/all8023/article/details/12710171</guid><author>all8023</author><pubDate>Mon, 14 Oct 2013 20:37:30 +0800</pubDate><description><![CDATA[Linux内存管理
摘要：本章首先以应用程序开发者的角度审视Linux的进程内存管理，在此基础上逐步深入到内核中讨论系统物理内存管理和内核内存的使用方法。力求从外到内、水到渠成地引导网友分析Linux的内存管理与使用。在本章最后，我们给出一个内存映射的实例，帮助网友们理解内核内存管理与用户内存管理之间的关系，希望大家最终能驾驭Linux内存管理。
前言
内存管理一向是所有操作系统书籍不惜笔墨]]></description><category></category></item></channel></rss>