小数点

数的定点表示和浮点表示【转帖】

自闭症网瘾萝莉.ら 提交于 2020-04-06 21:47:40
计算机处理的数值数据多数带有小数,小数点在计算机中通常有两种表示方法,一种是约定所有数值数据的小数点隐含在某一个固定位置上,称为定点表示法,简称 定点数 ;另一种是小数点位置可以浮动,称为浮点表示法,简称 浮点数 。 1. 定点数表示法(fixed-point) 所谓定点格式,即约定机器中所有数据的小数点位置是固定不变的。在计算机中通常采用两种简单的约定:将小数点的位置固定在数据的最高位之前,或者是固定在最低位之后。一般常称前者为定点小数,后者为定点整数。 定点小数 是纯小数,约定的小数点位置在符号位之后、有效数值部分最高位之前。若数据 x 的形式为 x = x 0 . x 1 x 2 … x n ( 其中 x 0 为 符号位 , x 1 ~ x n 是数值的有效部分,也称为 尾数 , x 1 为最高有效位 ) ,则在计算机中的表示形式为: 一般说来,如果最末位 x n = 1 ,前面各位都为 0 ,则数的绝对值最小,即 | x | mi n = 2 - n 。如果各位均为 1 ,则数的绝对值最大,即 | x | m a x =1-2 - n 。所以定点小数的表示范围是: 2 - n ≤ | x | ≤ 1 - 2 - n 定点整数 是纯整数,约定的小数点位置在有效数值部分最低位之后。若数据 x 的形式为 x = x 0 x 1 x 2 … x n ( 其中 x 0 为符号位, x

python笔记:如何将小数点格式换为百分比显示

依然范特西╮ 提交于 2020-04-06 01:47:22
经常做一些报表,显示为小数点格式会比较难读,而换成百分比格式则会好读许多,比如下面的到货及时率,计算出来会有很多位小数,而换为百分比格式就会美观许多,话不多说,直接上图: 具体的代码过程如下: #计算总数量 dhjs1["应到货数量"]=dhjs1["及时"]+dhjs1["延期"]+dhjs1["到期未交"] #计算及时率,得到的会是小数 dhjs1["及时率"]=dhjs1["及时"]/dhjs1["应到货数量"] # 用apply的方法出百分比 dhjs1["到货及时率"] = dhjs1["及时率"].apply(lambda x: format(x, '.2%')) 来源: oschina 链接: https://my.oschina.net/u/4493568/blog/3214916

2.1 进制转换

旧时模样 提交于 2020-04-04 19:56:23
这里主要介绍二进制、十进制、十六进制的转换 一.基本概念: ①数码:用来表示进制数的元素 binary二进制数码:0,1 decimal十进制数码:0,1,2,3,4,5,6,7,8,9 hexadecimal十六进制数码:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F ②基数:数码的个数,三种进制分别为2,10,16 ③位权:数制中每一个固定位置对应的单位值为位权;每个数码表示的数值=该数码值*所处位置的位权,例十位,个位,百位等 总结: (N) R =a n-1 R n-1 +a n-2 R n-2 +……+a -m R -m ,其中R位基数,R n 为位权。 二.进制转换 ①二进制转换成十进制Binary——>decimal 按权相加法:小数点前的部分,整数从最后一位从右向左开始,从0开始依次为第n位,依次乘以2的n次方相加;小数部分从左往右算,依次算为第1,2,3……n位,将第n位的数乘以2的-n次方,相加即可得到小数位的十进制数。 ②二进制转换成十六进制 每四位二进制数对应一个十六进制数位,以小数点为界,整数部分从右向左每4位隔开,不足4位左边补0即可;小数部分将二进制数从左往右每4位隔开,不足4位的右边补0,即可得到16进制数 ③十进制转换成二进制 以小数点为界限,整数部分用除2取余发,小数部分用乘2取整法:先乘2,将获得于运算结果的整数部分

ios自定义数字键盘

回眸只為那壹抹淺笑 提交于 2020-03-25 13:50:15
因为项目又一个提现的功能,textfiled文本框输入需要弹出数字键盘,首先想到的就是设置textfiled的keyboardType为numberPad,此时你会看到如下的效果: 但是很遗憾这样设置虽然出现了数字键盘,但是对于我们提现的这个功能来说是需要小数的,所以需要一个小数点 但是使用上面的键盘显然不能满足我们的需求,那么应该如何解决这样的问题呢? 想了一下,有两个方法取实现: 1.自定义一个键盘视图 2.在系统键盘的基础上修改 经过思考,自定义键盘代价太大,所以我才用了第二种方法。 为了在系统键盘基础上修改,首先我们需要拿到键盘,那么如何拿到呢?我们知道键盘也是一个window, 所以最简单的方式就是打印出当前视图上面的window,拿到键盘所属的window,然后遍历内部的子控件即可 但是我没有直接取打印,我直接通过程序的调用栈就可以看到当前键盘所属的window及其内部的子控件,以下是我通过程序调用栈看到的结果: 可以看到键盘是一个名字叫UIRemoteKeyboardWindow的window 管理的,然后通过上图可以看到真正键盘输入视图应该是叫UIInputSetHostView,真正的键盘面板的父视图是一个叫UIKBKeyplaneView的view ,我们可以看到UIKBKeyplaneView李

MySQL 数据类型说明解释

徘徊边缘 提交于 2020-03-23 07:11:17
在 MySQL 中,有三种主要的类型:Text(文本)、Number(数字)和 Date/Time(日期/时间)类型。 Text 类型: 数据类型 描述 CHAR(size) 保存固定长度的字符串(可包含字母、数字以及特殊字符)。在括号中指定字符串的长度。最多 255 个字符。 VARCHAR(size) 保存可变长度的字符串(可包含字母、数字以及特殊字符)。在括号中指定字符串的最大长度。最多 255 个字符。 注释: 如果值的长度大于 255,则被转换为 TEXT 类型。 TINYTEXT 存放最大长度为 255 个字符的字符串。 TEXT 存放最大长度为 65,535 个字符的字符串。 BLOB 用于 BLOBs(Binary Large OBjects)。存放最多 65,535 字节的数据。 MEDIUMTEXT 存放最大长度为 16,777,215 个字符的字符串。 MEDIUMBLOB 用于 BLOBs(Binary Large OBjects)。存放最多 16,777,215 字节的数据。 LONGTEXT 存放最大长度为 4,294,967,295 个字符的字符串。 LONGBLOB 用于 BLOBs (Binary Large OBjects)。存放最多 4,294,967,295 字节的数据。 ENUM(x,y,z,etc.) 允许您输入可能值的列表。可以在

python基础注意点1

走远了吗. 提交于 2020-03-18 05:31:50
1.注释 单行注释:# 多行注释:三个成对的单引号或双引号 2.变量 变量相当于容器,用来存储值 变量名符合标识符命名规则(注意不能用关键字,例from,if,and,or等。注意大小写敏感) 可用: import kekeyword print(keyword.kwlist)查看关键字 例a=1、 a_1='5'、b=3.0 3.基本数据类型 整型: a=1 浮点型: a=1.0 字符串: a= '1' 或a="1" 只要是引号引起来的都是字符串 可用print(type(a)) 查看数据类型 4.输入输出 input():从控制台接收数据。接收到的所有数据类型都是字符串 print(): 输出到控制台 print(值,参数)逗号会打印一个空格 print(值,end=“”) 不换行输出 5. 数据转换 (1)浮点型转化成整型 a = 1.233 b = int(a) 打印结果b = 1, 转化的时候直接去掉了小数点后面的部分。不会四舍五入 (2)字符串转化为整型 a="123.5" b = int(a) 打印结果时会报错。想要转化字符串为数字,必须字符串中为纯数字,不能有数字以外的字符,包括小数点 (3)整型、浮点型转换字符串。没有任何限制 (4)字符串转化为浮点型 注意 定义的字符串中只能出现小数点符号,其他以外的字符均会报错 来源: https://www.cnblogs

求黄金分割数的小数点后100位(蓝桥杯竞赛题)

六月ゝ 毕业季﹏ 提交于 2020-03-17 07:58:47
网上虽然有很多解答,但不一定都对,这个是肯定对的。 本题是蓝桥杯的省赛题,题目原文如下 黄金分割数0.61803… 是个无理数,这个常数十分重要,在许多工程问题中会出现。有时需要把这个数字求得很精确。 对于某些精密工程,常数的精度很重要。也许你听说过哈勃太空望远镜,它首次升空后就发现了一处人工加工错误,对那样一个庞然大物,其实只是镜面加工时有比头发丝还细许多倍的一处错误而已,却使它成了“近视眼”!! 言归正传,我们如何求得黄金分割数的尽可能精确的值呢?有许多方法。 比较简单的一种是用连分数:f(n)=1/(1+f(n-1)) abs(f(n)-f(n-1))<10e-100 (连分数的图见QQ群) 这个连分数计算的“层数”越多,它的值越接近黄金分割数。 请你利用这一特性,求出黄金分割数的足够精确值,要求四舍五入到小数点后100位。 小数点后3位的值为:0.618 小数点后4位的值为:0.6180 小数点后5位的值为:0.61803 小数点后7位的值为:0.6180340 (注意尾部的0,不能忽略) 你的任务是:写出精确到小数点后100位精度的黄金分割值。 注意:尾数的四舍五入! 尾数是0也要保留! 显然答案是一个小数,其小数点后有100位数字。 注意:不要提交解答过程,或其它辅助说明类的内容。 说明一些函数的功能: //find_first_not_of(‘0’); //顾名思义

MySQL数据类型优化

自作多情 提交于 2020-03-17 05:50:25
1.更小的通常更好。 一般情况下,应该尽量使用可以正确存储数据的最小数据类型。 更小的数据类型通常更快,因为它们占用更少的磁盘、内存和CPU缓存,并且处理时需要的CPU周期也更少。 2.简单就好。 简单数据类型的操作通常需要更少的CPU周期。 例如:整型比字符操作代价更低,因为字符集和校对规则使字符比较比整型比较更复杂。这里有两个例子:一个是应该使用MySQL内建的类型而不是字符串来存储日期和时间,一个是应该用整型存储IP地址。 3.尽量避免NULL。 通常情况下最好指定列为NOT NULL,除非真的需要存储NULL值。 如果查询中包含可为NULL的列,对MySQL来说更难优化,因为可为NULL的列使得索引、索引统计和值比较都更复杂。 通常把可为NULL的列改为NOT NULL带来的性能提升比较小,所以调优时,没有必要首先在现有schema中查找并修改掉这种情况,除非确定会导致问题。如果计划在列上建索引,就应该尽量避免设计成可为NUll的列。 时间和日期上,TIMESTAMP(4个字节)只使用DATETIME(8个字节)一半的存储空间,并且会根据时区变化,具有特殊的自动更新能力。另一方面,TIMESTAMP允许的时间范围要小很多,有时候它的特殊能力会成为障碍。 整数类型: TINYINT,SMALLINT,MEDIUMINT,INT,BIGINT,分别使用8,16,24,32

SQL 通用数据类型解析

眉间皱痕 提交于 2020-03-16 10:02:44
SQL 通用数据类型 数据类型定义列中存放的值的种类。 SQL 通用数据类型 数据库表中的每个列都要求有名称和数据类型。Each column in a database table is required to have a name and a data type. SQL 开发人员必须在创建 SQL 表时决定表中的每个列将要存储的数据的类型。数据类型是一个标签,是便于 SQL 了解每个列期望存储什么类型的数据的指南,它也标识了 SQL 如何与存储的数据进行交互。 下面的表格列出了 SQL 中通用的数据类型: 数据类型 描述 CHARACTER(n) 字符/字符串。固定长度 n。 VARCHAR(n) 或 CHARACTER VARYING(n) 字符/字符串。可变长度。最大长度 n。 BINARY(n) 二进制串。固定长度 n。 BOOLEAN 存储 TRUE 或 FALSE 值 VARBINARY(n) 或 BINARY VARYING(n) 二进制串。可变长度。最大长度 n。 INTEGER(p) 整数值(没有小数点)。精度 p。 SMALLINT 整数值(没有小数点)。精度 5。 INTEGER 整数值(没有小数点)。精度 10。 BIGINT 整数值(没有小数点)。精度 19。 DECIMAL(p,s) 精确数值,精度 p,小数点后位数 s。例如:decimal(5