代码: int i = *reinterpret_cast<int*>(&(d += 6755399441055744.0)); 知识点: 1.reinterpret_cast<type_id> expression:type_id 必须是一个指针.引用.算术类型.函数指针或者成员指针.它可以把一个指针转换成一个整数,也可以把一个整数转换成一个指针(先把一个指针转换成一个整数,再把该整数转换成原类型的指针,还可以得到原先的指针值). 只是将bit表示进行了重新解读,不改变位…
自己写一个软件渲染器的时候,无意中发现float转换int非常耗时,于是查阅文章,这才有了这个命题,以前不清楚还有这么个机制.网上看了很多文章,搜索到了一个数字6755399441055744,这个是double快速转换int的一个magic number.至于原理我一知半解,主要看效果.经测试,这个函数的效率比c++直接float转int高很多,记录下来以便备忘. // // 将64位浮点数转换为32位整数 // 小数部分将四舍五入到偶数 // //用于double的magic number是…
(1)定义一个形状类(Shape)方法:计算周长,计算面积子类:矩形类(Rectangle) :额外的方法:differ() 计算长宽差圆形类(Circle)三角形类(Triangle)正方形类(Square) 矩形的子类生成几个不同的形状对象,放在一个Shape类型的数组里,分别求每个形状的周长和面积.如果形状对象是一个矩形,且不是正方形,则计算长宽差. package com.tiger.practice; class Shape { public double length(){ ; }…
最近在做CRM项目时,使用C#调用SAP PI发布的WebService服务时遇到的问题: 向WebService传值为decimal.double.int.DateTime等非string类型数据时,服务器端接收不到数据.查询了很多资料,终于解决了问题,总结如下. 问题现象: 用C#.NET调用PI开发的WebService时,在客户端将封装的带有decimal属性的对象传到服务器端时,服务器端可以得到string类型的属性值,却不能得到int.double.decimal类型和DateTim…
MyBatis 是轻量级的 Java 持久层中间件,完全基于 JDBC 实现持久化的数据访问,支持以 xml 和注解的形式进行配置,能灵活.简单地进行 SQL 映射,也提供了比 JDBC 更丰富的结果集,应用程序可以从中选择对自己的数据更友好的结果集.本文将从一个简单的快速案例出发,为读者剖析 MyBatis 的整体架构与运行流程.本次分析中涉及到的代码和数据库表可以从 GitHub 上下载:mybatis-demo . 1.一个简单的 MyBatis 快速案例 MyBatis官网 给出了一个…
linux几种快速清空文件内容的方法 几种快速清空文件内容的方法: $ : > filename #其中的 : 是一个占位符, 不产生任何输出. $ > filename $ echo "" > filename $ echo /dev/null > filename $ echo > filename $ cat /dev/null > filename…
[源码下载] 重新想象 Windows 8 Store Apps (42) - 多线程之线程池: 延迟执行, 周期执行, 在线程池中找一个线程去执行指定的方法 作者:webabcd 介绍重新想象 Windows 8 Store Apps 之 线程池 通过 ThreadPoolTimer 实现延迟执行 通过 ThreadPoolTimer 实现周期执行 通过 ThreadPool 实现“在线程池中找一个线程去执行指定的方法” 示例1.通过 ThreadPoolTimer 实现延迟执行(Thread…
package com.hanqi.lianxi; import java.util.Scanner; public class startWith {        //自己顶一个与startWith类似的判断方法 public static void main(String[] args) {        //首先随便定义一个字符串如下  String str = "fghkldrt";  System.out.println("str="+"“&q…
UIView拥有一个viewWithTag:(int)findTag方法,调用方式为[MyView viewWithTag:整形数字]该方法返回tag == findTag的控件.ios控件中允许多个控件的tag相同,该方法实现步骤如下: 1.如果MyView的tag值等于需要寻找的tag值,则返回MyView本身: 2.如果MyView的tag值不等于需要寻找的tag值,则查找MyView的子控件,即遍历MyView.subviews数组: 3.遍历MyView.subviews数组时,返回第…
在网上看到一篇博客讲解Levenshtein的计算,大部分内容都挺好的,只是在一些细节上不够好,看了很长时间才明白.我对其中的算法描述做了一个简单的修改.原文的链接是:一个快速.高效的Levenshtein算法实现. 我修改的内容如下: Levenshtein算法步骤 步骤 说明 1 设置n为字符串s的长度.(“GUMBO”) 设置m为字符串t的长度.(“GAMBOL”) 如果n等于0,返回m并退出. 如果m等于0,返回n并退出. 构造两个向量v0[m+1] 和v1[m+1] 2 初始化 v0,…
  一个简易的.轻量级的方法并行执行线程辅助类 在实际应用中,经常要让多个方法并行执行以节约运行时间,线程就是必不可少的了,而多线程的管理经常又是一件头疼的事情,比如方法并行执行异步的返回问题,方法并行执行的超时问题等等,因此这里分享一个简易的.轻量级的方法并行执行线程辅助类. 线程管理辅助类的两个目标: 1.多个线程方法并行执行,主线程等待,需要知道所有子线程执行完毕: 2.异步执行方法需要设置超时时间,超时可以跳过该方法,主线程直接返回: 3.轻量级,虽然微软提供了线程等待.超时等可用组件,…
给定一个double类型的浮点数base和int类型的整数exponent.求base的exponent次方. 不要用Math.pow(double,double)哟.效率极其低下,比连成慢好多: 题很简单,主要有很多坑,条件判断:正负情况: public class Solution { public double Power(double base, int exponent) { double mul=1.0; /* 如果exponent = 0 输出1 */ if(exponent ==…
最近在做支付相关模块的业务,数据库字段却使用的是double类型,其实也行,只要计算不在sql语句中进行,也是没有问题的. 预先的类属性设置的是Double类型,自己算的时候发现小数相加会出现损失精度的情况 如下情形 @Test public void testDouble(){ Double [] arr = {39.9d,50d,198d,39.9d}; Double verify = 0d; for (Double aDouble : arr) { verify += aDouble ;…
1,在需要对大量小文件进行移动或复制时,用cp.mv都会显得很没有效率,可以用tar先压缩再解压缩的方式.  2,在网络环境中传输时,可以再结合nc命令,通过管道和tcp端口进行传输.  nc和tar可以用来快速的在两台机器之间传输文件和目录,比ftp和scp要来得简单的多.  由于nc是一个超轻量的命令,所以一般busybox都会集成它.当一个linux终端,比如linux pda,  通过usblan的方式连接到另一台linux主机的时候,这样的嵌入式终端上一般不会集成ftp server,…
进行以下两步操作即可: 1.第一步:创建空的文件夹: mkdir  /tmp/blank 2.第二步:执行以下命令:rsync --delete-before -d /tmp/blank/ /home/stormnode/store/html/new/ Linux 快速删除大量小文件方法     当我们在linux系统中要删除数万或者数十万甚至数百万的文件时使用rm -rf *就不太好用,因为要等待很长一段时间.在这种情况之下我们可以使用linux系统命令rsync来巧妙的处理.rsync实际上…
通过查看String类的源码: public static String valueOf(int i) { return Integer.toString(i); } 我们可以看到,String.valueOf(int i)其实是调用了Integer.toString(int i)方法的. 再次通过查看Integer类的源码我们可以看到: public static String toString(int i) { if (i == Integer.MIN_VALUE) return "-214…
split(String regex, int limit)方法,头一个参数String regex表示字符串分割的模式,包括分隔符和正则表达式:但是第二个参数limit比较迷糊人,api中这样解释: limit 参数控制模式应用的次数,因此影响所得数组的长度.如果该限制 n 大于 0,则模式将被最多应用 n - 1 次,数组的长度将不会大于 n,而且数组的最后一项将包含所有超出最后匹配的定界符的输入.如果 n 为非正,那么模式将被应用尽可能多的次数,而且数组可以是任何长度.如果 n 为 0,那…
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 在方法与数据成员中,我们提到,Java中的对象在创建的时候会初始化(initialization).初始化时,对象的数据成员被赋予初始值.我们可以显式初始化.如果我们没有给数据成员赋予初始值,数据成员会根据其类型采用默认初始值. 显式初始化要求我们在写程序时就确定初始值,这有时很不方便.我们可以使用构造器(constructor)来初始化对象.构造器可以初始化数据成员,还可以规定…
基于vuecli3构建的一个快速开发h5 APP的模板,集成了高德地图.mint-ui,以及antv-f2可视化框架 vue-cli3安装 查看vue cli版本 vue --version 要求nodejs版本8.9以上 如安装了旧版,使用npm uninstall vue-cli -g卸载旧版本 安装vue-cli3.0 npm install -g @vue/cli 创建项目 vue create hello-world 选择安装配置选项 ◉ Babel ◯ TypeScript ◯ Pr…
在C#编程过程中,很多时候涉及到数据类型的转换,例如将字符串类型的变量转换为Int类型就是一个常见的类型转换操作,int.Parse方法是C#中专门用来将字符串转换为整型int的,int.Parse方法的常见的签名形式为static Int32 Parse(string s),s代表被转换的字符串,如果字符串无法转换为整型int,则int.Parse方法会抛出异常. 例如有个字符串str的值为“333”,将之转换为int类型可使用下列语句: string str = "333";   …
作业:编写一个类Computer,类中含有一个求n的阶乘的方法.将该类打包,并在另一包中的Java文件App.java中引入包,在主类中定义Computer类的对象,调用求n的阶乘的方法(n值由参数决定),并将结果输出. 代码: Computer类: package tym; public class Computer { int sum=1; public int getSum(int x) { for(int i=1;i<x+1;i++) { sum=sum*i; } return sum;…
本例,快速清理“students”数据库的日志,清理后日志文件不足1M. USE [master] GO ALTER DATABASE students SET RECOVERY SIMPLE WITH NO_WAIT GO ALTER DATABASE students SET RECOVERY SIMPLE GO USE students GO --此处需要注意,并非所有数据库的日志文件名都是“数据库名_log” DBCC SHRINKFILE (N'students_log' , 0,TR…
一个防止误删MSSQL数据库的方法 环境:Windows2008 R2 .SQL 2012 今天发现一个有趣的现象,之前数据库服务器的其中几个数据库做过镜像,不过现在已经删除了,今天又要在那台服务器上为一个库搭建镜像 搭建镜像的过程中,把镜像机器的ip写成了自己的ip,结果发现命令成功执行 --备机上执行 USE [master] GO ALTER DATABASE [CT_DB] SET PARTNER = 'TCP://192.168.1.106:5022'; --主机服务器的ip 192.…
通过文章 SQL Server中“数据收缩”详解 和 SQLServer删除log文件和清空日志的方法 可以整理出一种快速删除数据库日志的方法,即 第一步:清空日志文件里的数据: 第二步:收缩日志文件. 简单执行如下命令: DUMP TRANSACTION 数据库名 WITH NO_LOG; DBCC ShrinkFile(‘数据库名_log’, 1); 相关阅读:SQL Server 2008 R2:快速清除日志文件的方法…
我来分享一个快速设置背景的js (需要jq支持!) 快速切图铺页面用---就是不需要手动输入背景图的长宽 自动获取背景图的长宽 : <div class="wrap"> <div style="background: url(images/by_01.jpg) no-repeat top center;"></div> <div style="background: url(images/by_02.jpg) no…
PHP是单继承的语言,在PHP 5.4 Traits出现之前,PHP的类无法同时从两个基类继承属性或方法.php的Traits和Go语言的组合功能类似,通过在类中使用use关键字声明要组合的Trait名称,而具体某个Trait的声明使用trait关键词,Trait不能直接实例化.具体用法请看下面的代码: <?php trait Drive { public $carName = 'trait'; public function driving() { echo "driving {$thi…
获取一个 app 的 URL Scheme 的方法: 上这个网站 URL Schemes 查一下相应的 app 的 URL Scheme 是否有被收录 第一种方法没找到的话,把相应的 app 的 ipa 安装文件下载下来,把文件 .ipa 的后缀改成 .zip,然后解压,打开 Payload/xxx.app/Info.plist 这个文件,找到 URL types 下的 URL Schemes 下的数组对应的值就是这个 app 的 URL Scheme 了,以 Weico 为例: 通过第二种方法…
https://github.com/alafighting/QuickAndroid QuickAndroid 一个快速.完善的Android开发框架整合实践 QA项目简介 本框架QuickAndroid(以下简称:QA)尚处于开发阶段. 本项目的宗旨是:整合一个快速.完善的Android开发框架. 编译工具使用:Eclipse + ADT + Android SDK: 编译环境是Android 5.0(21),最低支持Android 2.2(8): 项目编码采用:UTF-8,源码带有中文注释…
比如我要线程一个private void subPing(int pre,int end) 我在Thread t=之后应该如何写 用匿名委托吧!那么简单为什么要这样写!t = new Thread(delegate() {subPing(1,2);            });这样调用多简单啊!…
在项目中,需要连接mysql数据库的时候,我们最好选择使用数据库连接池,即需要选择DataSource. 而在使用c3p0的ComboPooledDataSource时,发现它的Connection实现类NewProxyConnection没有实现isValid(int timeout)方法:在查阅资料并进行相关测试后,发现mysql驱动包里的MysqlDataSource中的Connection实现类(具体是哪个还请大家告知)实现了isValid(int timeout)方法.…