当前位置: 首页 > 编程笔记
  • 使用cout输出string

    使用cout输出string

    cout在c++中表示的是输出,你可以使用cout输出一个字符,int型,float型的数字,但是cout不能输出一个对象

    然而,string实际是一个类,c++定义了string为一个类,我们使用对string赋值的时候并不是给string的对象赋值,实际上是给对象的成员变量赋值

    比如:

    string str;
    str = “你好”;

    这里千万不要以为str的内容就是 你好,实际上string对 = 进行了运算符重载,保存 你好 的实际上是str的一个成员变量

    阅读全文
    作者:蒲公英 | 分类:编程技术 | 标签:
  • C语言实现大数相乘

    C语言实现大数相乘

    在c语言中,int型的最大的容纳的数是2的32次方,如果是计算大数的话,使用int得到错误的结果,因此计算较大的数的运算时,需要用到大数相乘,下面是我根据别人的思路用C语言实现的代码:   #include <iostream> #include <string.h> using namespace std; #define MaxLen 255 //char数组转 ...

    阅读全文
    作者:蒲公英 | 分类:编程技术 | 标签:
  • sscanf的细节说明

    sscanf的细节说明

    sscanf和scanf的最大的不同就是scanf的对象一般是输出的IO设备,但是Sscanf可以是另外的一个变量

    sscanf的MSDN定义:

    int sscanf(
    const char *buffer,
    const char *format [,
    argument ] ...
    );
    阅读全文
    作者:蒲公英 | 分类:编程技术 | 标签:
  • 汇编指令DIV的说明

    汇编指令DIV的说明

    在汇编中DIV表示的是无符号的除法,在32位的系统下商保存在eax中,余数保存在EDX中

    DIV只有一个操作数,但是参与运算的却有两个;因为他默认包含了EAX这个寄存器

    但是这里要特别注意的一个误区,其实DIV默认包含了三个

    阅读全文
    作者:蒲公英 | 分类:逆向 | 标签:
  • C语言实现RSA加密解密

    C语言实现RSA加密解密

    最近在分析一个程序的时候,发现程序大量的使用了次方和求模的操作,但是没有太在意,等到将汇编语言翻译成C语言后,发现程序的算法和RSA很相似

    查询RSA的算法原理,发现程序真的是使用了RSA的算法,无奈自己的辛苦工作居然把RSA的汇编代码翻译了出来

    阅读全文
    作者:蒲公英 | 分类:算法相关, 编程技术 | 标签:
  • 大数求余求商的解决方法

    大数求余求商的解决方法

    很多时候我们需要用到大数运算,这里举一个数字:0x112C6CCBB 转换成十进制就是

    double a=4609985723

    这是一个大数了,因为他超过了int所能表示的最大整数:4294967296

    那么如果是我要对这个进行求商和求余怎么办?这里的求商是指和整形求商一样,求出的商是整数而不是小树

    首先是大数的表示问题,这个大数可以用double来表示,因为double能够表示的范围是相当大的,

    阅读全文
    作者:蒲公英 | 分类:编程技术 | 标签:
  • 编写第一个dll调用程序

    编写第一个dll调用程序

    很多时候我们选择将我们需要实现的功能的具体的代码或者类书写在一个DLL里面,但是新手苦于不知道如何编写一个dll,并且成功的调用dll

    这篇文章将演示如何编写一个简单的dll和调用自己编写的dll

    首先是编写一个dll

    阅读全文
    作者:蒲公英 | 分类:编程技术 | 标签:,
  • 关于EBP寄存器的作用

    关于EBP寄存器的作用

    EBP寄存器在汇编语言中较多的使用到,比如在一个程序反汇编后,你会发现每当程序进入一个CALL,进入了后,做的第一件事基本上都是下面的两行代码:

    PUSH EBP //保存老的帧指针
    MOV EBP,ESP  //赋给新的帧指针

    那么为什么反汇编后,基本上所有的子程序都是以 push ebp , mov ebp,esp开始呢?

    阅读全文
    作者:蒲公英 | 分类:编程技术 | 标签: