浮点数

Python编程入门-数字

让人想犯罪 __ 提交于 2020-01-26 19:55:09
数字 文章目录 数字 1.整数 2.浮点数 3.str() 函数 4.注释 1.整数 在Python中,可对整数执行加(+ )减(- )乘(* )除(/ )运算。 两个乘号表示乘方运算: Python还支持运算次序,因此你可在同一个表达式中使用多种运算。你 还可以使用括号来修改运算次序。 2.浮点数 带小数点的数字都称为浮点数 。 3.str() 函数 str()函数将非字符串值表示为字符串 例子中使用了一个值为整数(int )的变量,但它不知道该如何解读这个值。这个变量表示的可能是数值23,也可能是字符2和3。像上面这样在字符串中使用整数时,需要将这个整数用作字符串。 4.注释 Python中的注释有单行注释和多行注释: Python中单行注释以 # 开头,例如: #这是一个注释 print("Hello, World!") 多行注释用三个单引号 ‘’’ 或者三个双引号 “”" 将注释括起来,例如: 1、单引号(’’’) ''' 这是多行注释,用三个单引号 这是多行注释,用三个单引号 这是多行注释,用三个单引号 ''' print("Hello, World!") 2、双引号(""") """ 这是多行注释,用三个双引号 这是多行注释,用三个双引号 这是多行注释,用三个双引号 """ print("Hello, World!") 来源: CSDN 作者: 长安常安1 链接:

java浮点数剖析

a 夏天 提交于 2020-01-25 21:03:49
定点数表达法的缺点在于其形式过于僵硬,固定的小数点位置决定了固定位数的整数部分和小数部分,不利于同时表达特别大的数或者特别小的数。 计算机系统采纳了所谓的浮点数表达方式。这种表达方式利用科学计数法来表达实数,即用一个尾数(Mantissa也叫有效数字 ),一个基数(Base),一个指数(Exponent)以及 一个表示正负的符号来表达实数。浮点数利用指数达到了浮动小数点的效果,从而可以灵活地表达更大范围的实数。 当一个浮点数的尾数为0,不论其阶码为何值,该浮点数的值都为0。当阶码的值为它能表示的最小一个值或更小的值时,不管其尾数为何值,计算机都把该浮点数看成零值,通常称 其为机器零,此时该浮点数的所有各位(包括阶码位和尾数位)都清为0值。 Java 平台上的浮点数类型 float 和 double 采纳了 IEEE 754 标准中所定义的单精度 32 位浮点数和双精度 64 位浮点数的格式。 在 IEEE 标准中,浮点数是将特定长度的连续字节的所有二进制位分割为特定宽度的符号域,指数域和尾数域三个域,其中保存的值分别用于表示给定二进制浮点数中的符号,指 数和尾数。这样,通过尾数和可以调节的指数就可以表达给定的数值了。具体的格式参见下面的图例: 在上面的图例中,第一个域为符号域。其中 0 表示数值为正数,而 1 则表示负数。 第二个域为指数域

Java 浮点数相加

自闭症网瘾萝莉.ら 提交于 2020-01-25 21:03:17
  刚刚遇到个需求,需要对金额求和,上线的时候才知道这时个,这个字段是个小数。   随手就改了个Double ,然后,跑下,没啥问题,直接上线了   然后,就fuck 了   加出一大堆的小数,大概是这样的 package com.venn.demo; public class DoublePlus { public static void main(String[] args) { double d1 = 0.01; double d2 = 0.01; for (int i=0; i< 10; i++){ d2 += d1; System.out.println(d2); } } } 我以为的输出是这样的: 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.10 0.11 实际是这样的: 0.02 0.03 0.04 0.05 0.060000000000000005 0.07 0.08 0.09 0.09999999999999999 0.10999999999999999 一脸懵逼的看完一篇博客,似懂非懂的: 程序员必知之浮点数运算原理详解 结论就是:    很多十进制小数在转换成二进制时,并不能精确表示,只能是近似值。 解决办法就是使用BIgDecimal public static void bigDecimalDemo(){

java 浮点数

落爺英雄遲暮 提交于 2020-01-25 21:00:59
package precisenumber; //import java.util.*; public class PreciseNumber { public int fore; public int after; public void DTI(double num)// double to int { String numStr = Double.toString(num); String foreStr = numStr.substring(0, numStr.indexOf(".")); String afterStr = numStr.substring(numStr.indexOf(".") + 1); this.fore = Integer.parseInt(foreStr); this.after = Integer.parseInt(afterStr); } public double ITD()// int to double { String numStr = this.fore + "." + this.after; double num = Double.parseDouble(numStr); return num; } public void putNum(double num) { System.out.println("number" + num

Python基础教程(第三版)读书笔记(1)

萝らか妹 提交于 2020-01-24 19:38:07
文章目录 绪论 绪论 看完吴恩达老师的机器学习视频后,不知道下一步该学什么。不知道怎么去实现,看pytorch教程。感觉还是少一点什么。可能是基础太差了。因为并没有python编程基础,直接学框架感觉就是不对劲。现在开始系统学习python,希望python好好对我。 基础知识: 函数: Python函数类似于数学函数,它们可能接受参数,并返回结果。 模块: 模块是扩展,可通过导入它们来扩展Python的功能。 import math # 引入math模块 from math import sqrt # 引入math模块的函数sqrt 本章学习到的新函数: 函数 描述 abs(number) 返回指定数的绝对值 bytes(string, encoding[, errors]) 对指定的字符串进行编码,并以指定的方式处理错误 cmath.sqrt(number) 返回平方根;可用于负数 float(object) 将字符串或数字转换为浮点数 help([object]) 提供交互式帮助 input(prompt) 以字符串的方式获取用户输入 int(object) 将字符串或数转换为整数 math.ceil(number) 以浮点数的方式返回向上圆整的结果 math.floor(number) 以浮点数的方式返回向下圆整的结果 math.sqrt(number) 返回平方根

常用的re正则

。_饼干妹妹 提交于 2020-01-24 08:16:02
常用的正则表达式: 用户名: /^[a-z0-9_-]{3,16}$/ 密码: /^[a-z0-9_-]{6,18}$/ 十六进制值: /^#?([a-f0-9]{6}|[a-f0-9]{3})$/ 电子邮箱: /^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/ URL : /^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/ IP 地址 :/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/ HTML 标签: /^<([a-z]+)([^<]+)*(?:>(.*)<\/\1>|\s+\/>)$/ Unicode 编码中的汉字范围: /^[u4e00-u9fa5],{0,}$/ 匹配中文字符的正则表达式: [\u4e00-\u9fa5] 匹配双字节字符 ( 包括汉字在内 ) : [^\x00-\xff] \\ 可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1) 匹配空白行的正则表达式: \n\s*\r \\可以用来删除空白行 匹配 HTML 标记的正则表达式: <(\S*?)[^>]*>.*?</\1>|<.

移位存储详解

柔情痞子 提交于 2020-01-24 06:30:51
IEEE 754 浮点数存储标准 规定浮点数格式如下: ​​​ s表示符号位,当s=0,V为正数;当s=1,V为负数 E表示8位阶码,采用移位存储 M表示23位尾数,如M为10100....,那么M所代表的二进制浮点数为M'=1+1/2+1/2^2=1.75,2>M'>=1 根据32位数计算为十进制:V=(−1)^s × M' × 2^(E−127), 移位存储详解 如果采用传统的高bit表示正负的方法,将-127-127分为两个区间表示: 第一个区间:0 000000 0~ 0 111111 1 即 +0 到 127 第二个区间:1 000000 0~ 1 111111 1 即 -0 到 -127 很明显存在+0和-0的问题,如果采用移位存储技术,即在原始数值的基础上加 127进行表示: 第一个区间:0 000000 0~ 0 111111 1 即 -127 到 0 第二个区间:1 000000 0~ 1 111111 1 即 1 到 128 也就是可以使用 8位二进制来表示从 -127~128 共计 127个负数+零(0)+128个正数总共 256个数,且使用移位存储即没有+0和-0的问题,又充分的使用这个新生成的 8位二进制数来最大限度的表示单精度浮点数的幂指数(阶码) 来源: CSDN 作者: 猪崽滚滚 链接: https://blog.csdn.net/qq

格式化输出成绩提高的百分比 (java)

无人久伴 提交于 2020-01-24 00:33:50
题目 : 请帮小明同学设计一个程序,输入上次考试成绩(int)和本次考试成绩(int),然后输出成绩提高的百分比,保留两位小数位(例如,21.75%)。 思路 : 按照题目要求,通过Scanner类输入两次的成绩,并且两次成绩定义都是整型int,然而输出这里要输出小数,所以在进行百分比计算时首先进行强制转换为小数格式:(double),利用java在做运算时如果有double类型则首先转换为double类型再运算。 在输出格式时,要输出百分比,则应首先对上面的结果乘以100,然后再保留两位小数即可。 代码 : public static void main ( String [ ] args ) { Scanner sc = new Scanner ( System . in ) ; System . out . println ( "请输入上次考试成绩:" ) ; int lastScore = sc . nextInt ( ) ; System . out . println ( "请输入本次考试成绩:" ) ; int thisScore = sc . nextInt ( ) ; double percentOfScoreImprove = ( ( double ) thisScore - lastScore ) / lastScore * 100 ; System .

正则表达式

北慕城南 提交于 2020-01-24 00:28:23
数字: 1 $ n位的数字:^\d{n}$ 至少n位的数字:^\d{n,}$ m-n位的数字:^\d{m,n}$ 零和非零开头的数字:^(0|[1-9][0-9] )$ 非零开头的最多带两位小数的数字:^([1-9][0-9] )+(.[0-9]{1,2})?$ 带1-2位小数的正数或负数:^(-)?\d+(.\d{1,2})?$ 正数、负数、和小数:^(-|+)?\d+(.\d+)?$ 有两位小数的正实数: 2 +(.[0-9]{2})?$ 有1~3位小数的正实数: 3 +(.[0-9]{1,3})?$ 非零的正整数: 4 \d $ 或 ^([1-9][0-9] ){1,3}$ 或 ^+?[1-9][0-9] $ 非零的负整数:^-[1-9][]0-9" $ 或 ^-[1-9]\d $ 非负整数:^\d+$ 或 5 \d*|0$ 非正整数:^-[1-9]\d*|0$ 或 ^((-\d+)|(0+))$ 非负浮点数:^\d+(.\d+)?$ 或 6 \d*.\d*|0.\d*[1-9]\d*|0?.0+|0$ 非正浮点数:^((-\d+(.\d+)?)|(0+(.0+)?))$ 或 ^(-([1-9]\d*.\d*|0.\d*[1-9]\d*))|0?.0+|0$ 正浮点数: 7 \d*.\d*|0.\d*[1-9]\d*$ 或 ^(([0-9]+.[0-9] [1-9][0-9]

定点数与浮点数

情到浓时终转凉″ 提交于 2020-01-23 21:33:09
定点数与浮点数 定点数的表示方式 定点数:小数点固定在某个位置的数 纯小数 纯整数 乘以比列因子来满足定点数保存格式 浮点数的表示方式 计算机处理的很大程度上不是纯小数和纯整数 数据的范围很大,定点数很难表示 浮点数的表达格式 科学计数法 1234000000000 = 1.234 * 10^12 尾数 1.234 基数 10 阶码 12 尾数规定使用纯小数 S 尾数 r 基数 j 阶码 例: 11.0101 = 0.110101 × 2^10 11.0101 = 0.0110101 × 2^11 浮点数的表示范围 浮点数的规格化 定点数与浮点数的对比 来源: CSDN 作者: CpuCode 链接: https://blog.csdn.net/qq_44226094/article/details/104077313