[C++] Running time and Integer to String


#pragma once
#include "Inf.hpp"
#include <stdint.h>
#include <string>
#include <iostream>
#include <sstream>

#define BUFFER_SIZE 1048576

std::string int2str(int32_t p_vint);
std::string int2str_oss(int32_t p_vint);

std::string int2str(int32_t p_vint)
{
    char str[11] = { 0 };
    int bits = 0, temp = 0;
    for (int i = 0; p_vint > 1; ++bits, ++i)
    {
        temp = p_vint;
        p_vint /= 10;
        str[i] = temp - p_vint * 10 + 0x30;
    }

    for (int i = 0; i < bits / 2; i++)
    {
        str[i] ^= str[bits - 1 - i];
        str[bits - 1 - i] ^= str[i];
        str[i] ^= str[bits - 1 - i];
    }

    str[bits] = 0;
    return std::string(str);
}

std::string int2str_oss(int32_t p_vint)
{
    std::ostringstream oss;
    oss << p_vint;
    return oss.str();
}

  

Running Time:

#include <Windows.h>

int main()
{
    double time = 0;
    double counts = 0;
    LARGE_INTEGER nFreq;
    LARGE_INTEGER nBeginTime;
    LARGE_INTEGER nEndTime;
    QueryPerformanceFrequency(&nFreq);
    QueryPerformanceCounter(&nBeginTime);//开始计时
    //encode("d:/bgm_.txt", "d:/bgm2.txt");

    //test
    //for (int i = 0; i < 1000000; i++)
    //    int2str(i);   //5.33s
    //for (int i = 0; i < 1000000; i++)
    //    int2str_oss(i);   //23.53s

    QueryPerformanceCounter(&nEndTime);//停止计时
    time = (double)(nEndTime.QuadPart - nBeginTime.QuadPart) / (double)nFreq.QuadPart;
    std::cout << "Running Time:" << time * 1000 << "ms" << std::endl;

    return 0;

  

时间: 2024-11-06 09:52:34

[C++] Running time and Integer to String的相关文章

Integer.parseInt(String s) 和 Integer.valueOf(String s) 的区别

通过查看java.lang.Integer的源码可以发现, 它们最终调用的都是 /** * Parses the string argument as a signed integer in the radix * specified by the second argument. The characters in the string * must all be digits of the specified radix (as determined by * whether {@link

Integer.valueOf(String)方法字符串转整型- 你肯定不知道的疑惑!

有个仁兄在 StackOverflow 上发起了一个问题,是这么问的: " 我被下面的代码搞晕了,为什么它们会返回不同的值?" 1 2 3 System.out.println(Integer.valueOf("127")==Integer.valueOf("127")); System.out.println(Integer.valueOf("128")==Integer.valueOf("128"));

Convert integer to string(int类型转化为string类型)

译: 这是一个常见的问题,但是对于这个问题我没有找到一个很好的方法:如何将整数类型转化为字符串类型?我遇到过几种解决方案.我不会使用stringstream.sprintf()函数也遇到了问题,并且它是C语言的风格.函数itoa()以前工作地很好,但参考文档说: 这个函数在ANSI-C中没有被定义,并且它不是C++的一部分,但有些编译器支持 并且这个函数也是C语言风格. 我自己写了一个C++风格的函数,并且它工作起来没有错误(译者注:我不这么认为,详见后文). string convertInt

Integer.valueof(String s)和Integer.parseInt(String s)的具体区别是什么?

Integer.valueof(String s)是将一个包装类是将一个实际值为数字的变量先转成string型再将它转成Integer型的包装类对象(相当于转成了int的对象)这样转完的对象就具有方法和属性了.而Integer.parseInt(String s)只是将是数字的字符串转成数字,注意他返回的是int型变量不具备方法和属性. 设有下面两个赋值语句:a=Integer.parseInt(“123”);b=Integer.valueOf(“123”).intValue();下述说法正确的

postgresql to_char integer to string

最近用到了postgresql中的to_char将数字转为字符串,现将官网的实例搜集如下 除了以上功能外,to_char还有四舍五入的功能 select to_char(3.005,'0.99') 返回3.01 select to_char(3.003,'0.99') 返回的是3.00 好了有啥问题直接流言一超交流 postgresql to_char integer to string

java中Integer 与 String 类型的 相互 转换

Integer 转 String 第一种方法: Integer  i =4; String  s =" "; String num = i+s; 第二种方法: String num =String.valueOf(i); String 转 Integer String ss=""; Integer num =Integer.parseInt(ss); Integer num =Integer.valueOf(ss).intValue();

Integer.valueOf(String) 方法之惑

http://www.importnew.com/9162.html 本文由 ImportNew - 靳禹 翻译自 stackoverflow.欢迎加入翻译小组.转载请见文末要求. 有个仁兄在 StackOverflow 上发起了一个问题,是这么问的: “ 我被下面的代码搞晕了,为什么它们会返回不同的值?” 1 2 3 System.out.println(Integer.valueOf("127")==Integer.valueOf("127")); System

Java面试题之Integer.valueOf(String s);采用了什么设计模式

Integer.valueOf(String s);//采用了亨元设计模式: 亨元模式: 它是以一种“节约内存,提高性能”为出发点的设计模式,运用共享技术有效的支持大量细粒度对象的复用. 源码解析: private static class IntegerCache { static final int low = -128; static final int high; static final Integer cache[]; //类加载时提前先把-127到128 static { // h

Java基础知识强化之集合框架笔记55:Map集合之HashMap集合(HashMap&lt;Integer,String&gt;)的案例

1. HashMap集合(键是Integer,值是String的案例) 2. 代码示例: 1 package cn.itcast_02; 2 3 import java.util.HashMap; 4 import java.util.Set; 5 6 /* 7 * HashMap<Integer,String> 8 * 键:Integer 9 * 值:String 10 */ 11 public class HashMapDemo2 { 12 public static void main(