编程基础
文章平均质量分 65
hoppboy
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
对整数和浮点数存储,little-endian和big-endian字节顺序,以及位运算的一点回顾
对问题的一些理解1.位运算及其相关运算位运算 &,|,^,~,>,+,!用 异或^ 可以交换两个变量,不需要中间变量a = a ^ b; // a = 0000 1111b = b ^ a; // b = 0000 0111 = 7a = a ^ b; // a = 0000 1000 = 8明白其中的道理了吗?其中还有个加减法的版本:a =a原创 2012-03-04 15:43:05 · 3708 阅读 · 0 评论 -
对gdb调试,函数栈的形式,以及栈对齐方式的理解和实例
第一 栈首先我们需要了解一下在函数调用时候栈的结构 栈的生长方向由高地址向低地址生长,栈顶指针由sp或者esp确定,当压栈时sp减法操作 每一个函数都是一个栈框架(frame stack)。 我们简单来分析一下下来函数,对压栈,以及汇编语言,调试有进一步的了解Section 1Int sum (int x ,转载 2012-03-16 13:52:45 · 3386 阅读 · 0 评论 -
c++ 引用
#includevoid swap(int a,int b){ a =a^b;b=a^b;a=a^b;}void swap2(int &a,int &b){a=a^b;b=a^b;a=a^b;}int main(){//补充函数调用return 0;}编译 gcc -o swap swap.c // g++ -o原创 2012-11-12 11:05:52 · 651 阅读 · 0 评论 -
关于网络字节流和主机字节流,内存赋值
Big-endian和little-endian是描述排列存储在计算机内存里的字节序列的术语。Big-endian(从左到右的习惯方式)是一种大值的一端(序列中更典型值)存在前面(在最小的存储地址)的顺序。Little-endian是一种小值的一端(序列中较不典型的值)存储在前的顺序。比如,在Big-endian的电脑中,需要两个字节把十六位数4F52当作4F52存在存储器中(如果4F存在原创 2012-12-05 22:15:08 · 1360 阅读 · 0 评论 -
字符编码简介:ASCII,Unicode,UTF-8,GB2312
字符编码简介:ASCII,Unicode,UTF-8,GB2312字符编码简介:ASCII,Unicode,UTF-8,GB23121. ASCII码我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串。每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte)。也就是说,一个字节一共可以用来表示256种不同的状态,转载 2013-01-20 22:14:28 · 485 阅读 · 0 评论 -
反汇编学习
最近学习了一个反汇编类库 opdis,改类库是开源的,能够通过命令行和程序调用两种方式对指令进行反汇编。主要操作的步骤分为2个:1) 输入 指令流,opdis lib 提供了多个方式了来获取指令流,可以通过读取文件,字符串等方式获取,将指令流保存在opdis_buf_t 中2) 通过调用 opdis_disam_liner 或者 opdis_disam_cflow原创 2013-11-08 17:48:08 · 1839 阅读 · 0 评论
分享