十进制

python获取当前时间的用法

匿名 (未验证) 提交于 2019-12-02 22:51:30
python获取当前时间的用法 1.先导入库:import datetime 2.获取当前日期和时间:now_time = datetime.datetime.now() 3.格式化成我们想要的日期:strftime() 比如:“2016-09-21”:datetime.datetime.now().strftime('%Y-%m-%d') 格式“小时”:now_hour=add_hour.strftime('%H') 5.时间的三种存在方式:时间对象,时间字符串,时间戳。 (1) 字符串转datetime: >>> string = '2014-01-08 11:59:58' >>> time1 = datetime.datetime. strptime (string,'%Y-%m-%d %H:%M:%S') >>> print time1 2014-01-08 11:59:58 (2) datetime转字符串: >>> time1_str = datetime.datetime. strftime (time1,'%Y-%m-%d %H:%M:%S') >>> time1_str '2014-01-08 11:59:58' (3)时间戳转时间对象: >>>time1 = time.localtime() >>>time1_str = datetime.datetime.

php--小数点问题

匿名 (未验证) 提交于 2019-12-02 22:11:45
1、用round去小数点后两位时,有时候会出现很长的小数 解决方法 sprintf("%.2f",round($total_fee,2)); 使用sprintf再截取一遍。出现变态小数点不明原因。 2、小数点计算 bcadd ― 将两个高精度数字相加 bccomp ― 比较两个高精度数字,返回-1, 0, 1 bcdiv ― 将两个高精度数字相除 bcmod ― 求高精度数字余数 bcmul ― 将两个高精度数字相乘 bcpow ― 求高精度数字乘方 bcpowmod ― 求高精度数字乘方求模,数论里非常常用 bcscale ― 配置默认小数点位数,相当于就是Linux bc中的”scale=” bcsqrt ― 求高精度数字平方根 bcsub ― 将两个高精度数字相减 首先看一段代码: <?php$a = 0.1; $b = 0.7; var_dump(($a + $b) == 0.8);   打印出来的值居然为 boolean false 这是为啥?PHP手册对于浮点数有以下警告信息: Warning 浮点数精度 显然简单的十进制分数如同 0.1 或 0.7 不能在不丢失一点点精度的情况下转换为内部二进制的格式。这就会造成混乱的结果:例如,floor((0.1+0.7)*10) 通常会返回 7 而不是预期中的 8,因为该结果内部的表示其实是类似 7.9999999999...。

小猿圈分享-java-十进制、八进制、十六进制数互相转换

匿名 (未验证) 提交于 2019-12-02 21:40:30
给大家分享一个可以节约我们时间的小程序,十进制、八进制、十六进制的互相转换,记得收藏哦。 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165

麦森数

岁酱吖の 提交于 2019-12-02 09:20:27
形如2^P−1的素数称为麦森数,这时P一定也是个素数。 但反过来不一定,即如果P是个素数,2^P−1不一定也是素数。 到1998年底,人们已找到了37个麦森数。 最大的一个是P=3021377,它有909526位。 麦森数有许多重要应用,它与完全数密切相关。  任务:从文件中输入P,计算2^P−1的位数和最后500位数字(用十进制高精度数表示)。 输入格式 文件中只包含一个整数P。 输出格式 第一行:十进制高精度数2^P−1的位数。  第2-11行:十进制高精度数2^P−1的最后500位数字。(每行输出50位,共输出10行,不足500位时高位补0)  不必验证2^P−1与P是否为素数。 数据范围 1000<P<3100000 代码: #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> #include <cmath> using namespace std; const int N = 510; int a[N], c[N], res[N]; void mul(int a[N], int b[N], int res[N]) { memset(c, 0, N * 4); for (int i = 0; i < 500; i ++ ) for (int j = 0; j < 500;

BMP(位图)介绍

房东的猫 提交于 2019-12-02 06:41:23
什么是BMP BMP(全称Bitmap)是Windows操作系统中的标准图像文件格式,可以分成两类:设备相关位图(DDB)和设备无关位图(DIB),使用非常广。它采用位映射存储格式,除了图像深度可选以外,不采用其他任何压缩,因此,BMP文件所占用的空间很大。BMP文件的图像深度可选lbit、4bit、8bit及24bit。BMP文件存储数据时,图像的扫描方式是按从左到右、从下到上的顺序。由于BMP文件格式是Windows环境中交换与图有关的数据的一种标准,因此在Windows环境中运行的图形图像软件都支持BMP图像格式。 这里通过一个具体的例子对BMP格式做一个简单的介绍。 1.整体信息:位图文件可看成由4个部分组成: (1).位图文件头(bitmap-file header) 、一共14字节 (2).位图信息头(bitmap-information header)、一共40字节 (3).彩色表(color table) 、即调色板,大小可选 (4). 定义位图的字节阵列,即位图数据 最常见的就是24位图,所谓的24位图,就是说一个像素的颜色信息用24位来表示,也就是说,对于三原色BRG,每一个颜色都用以字节(8)位来表示。除了24位图,还有1位(单色),2位(4色,CGA),4位(16色,VGA),8位(256色),16位(增强色),24位(真彩色)和32位等。 对照图片进行分析

C语言复习(二)

为君一笑 提交于 2019-12-01 20:23:57
【输入输出函数及格式】 1.程序中可以直接调用的输入输出函数: scanf(); //格式输入 printf(); //格式输出 getchar(); //字符输入 putchar(); //字符输出 gets(); //字符串输入 puts(); //字符串输出 2.格式字符: %d:十进制整数 %x、%X:十六进制整数 %o、%O:八进制整数 %U:不带符号的十进制整数 %c:单个字符 %s:字符串 %f:十进制单、双精度数 %e、%E:指数形式的实数型 %g、%G:指数形式的实数型,不带无效0的浮点数 %格式字符:输出格式字符。 3.程序示例: scanf("%2d,%4d",&a,&b);//&为取地址符,2,4为数据长度 【循环结构】 注意: for(表达式1;;表达式3) 语句 //若表达式2省略,则不判断循环条件,需要从语句中设置相应的程序条件来结束循环 【典型例题】 1.分解质因数 来源: https://www.cnblogs.com/nengxiaoyuan/p/11716697.html

计算将k进制a转化成十进制b。

雨燕双飞 提交于 2019-12-01 17:44:12
问题:将k进制a转化成十进制b。 例如:'1101'是2进制,转成成十进制是1*2 3 +1*2 2 +0*2+1*2 0 =8+4+0+1=13 分析:如果有字母的话,代表是十进制以上。先把字母转化成相对应的数字。 def get_int(n): """ 将一个进制中的字母转化成所代表的数字 :param n: :return: """ upper_num_dic = {chr(i): i - 55 for i in range(65, 91)} lower_num_dic = {chr(i): i - 87 for i in range(97, 123)} return upper_num_dic.get(n) or lower_num_dic.get(n) 然后再进行计算,一种朴素的方法是直接乘方,进行计算。 def get_ten_num(k, a): b = 0 # 最后结果 m = 0 # 指数 for i in range(len(a) - 1, -1, -1): n = int(a[i]) if a[i].isdigit() else get_int(a[i]) b += n * (k ** m) # 这里可以使用秦九韶算法优化 m += 1 return b 朴素直接方法 很容易看出,这里跟求指数之和的算法是一样的,因此可以使用秦九韶算法,将前面计算的结果保存起来

EffectiveJava-2

懵懂的女人 提交于 2019-12-01 17:03:45
一、使用类库   使用类库的好处: 无须关心方法是如何实现的,由算法专家花了大量时间设计、实现和测试这个方法,不仅保证了正确性,而且一旦有缺陷,下一个版本就会修复。 不必浪费时间为哪些与工作不太相关的问题提供特别的解决方案,应该吧时间花在应用程序上,而不是底层的细节上。 它们的性能往往会随着时间的推移而不断提高,无须你做任何努力。 它们会随着时间的推移而增加新的功能。 使用类库可以让自己的代码融入主流,是代码更易读,更易维护、更易被大多数开发人员重用。   如果有时间,每个重要的发行版本,都要去看看增加和修改了哪些特性。 二、如果想要正确的答案,请避免使用float和double float和double类型不适合用于货币计算,如: System.out.println(1.03-0.42); 此行代码会输出:0.6100000000000001 如果想要精确计算,请使用BigDecimal、int或者long进行计算。   总结: 对于任何需要精确答案的计算任务,请不要使用float或者double。 使用BigDecimal,系统会处理十进制小数点,可以完全控制舍入,可以从八种舍入模式中选择其一,若数值超过18位,就必须使用BigDecimal。但可能会带来因为不使用基本类型产生的不便。 int需要自己处理十进制小数点,所涉及的数值不可太大,若数值范围没有超过9位十进制数字

mysql 类型自动化转换问题

核能气质少年 提交于 2019-12-01 16:57:40
mysql 类型自动化转换问题 背景 有个业务需求,使用到find_in_set函数,简单贴下,如下: SELECT FIND_IN_SET('b','a,b,c,d'); //返回值为2,即第2个值 实际用法: select * from campaign_plan where find_in_set('4',ad_type); 参考:https://www.cnblogs.com/mytzq/p/7090197.html 无意间发现了一个这样的问题,ad _type为text类型,具体表数据如下: 执行了语句如下: 顿时三观崩了,什么情况,怎么回匹配到第一个数字呢? 解惑 询问了一个朋友,他给了一个方向,mysql会自动转换类型,当你select语句的条件和数据中的type不一致的时候; 一拍大腿,是呀,之前有碰到过类似问题,如下: 有个id是varchar,你不加‘’也可以查询出来, 应该是转换了的,但这样没走索引的,所以查询效率很低 。。 当时碰到的问题是,当数据是id='123', 你select是where id = 123,一个是int 一个是varchar,mysql会自动的'123'转为123跟你的对比 回到,我上面碰到的问题也是类似,只是有一个逗号的存在,在转换的时候会截断,实际操作如下: 所以就解释通了,三观恢复 拿了一下官方的翻译版本, 隐式类型转换规则: