浮点数

JavaScript语言基础

微笑、不失礼 提交于 2020-03-02 09:12:42
标示符:区分大小写,可以是_ $ 或字母开始不能是数字,中文命名变量也合法。 保留字:void break delete function return do case if switch var catch else in this continue false instanceof throw while debugger finally new true const default for null try 等 变量:通过var来定义,没有则是全局变量和lua的local类似 注释:标准C语言的注释方法 /**/ or // 数据类型:包括数值,字符串,对象类型,数组类型,布尔类型等等 数值类型:包括十进制 八进制等,和C语言差不多。浮点数必须包含一个小数点或者一个E或e 布尔类型:false true 字符串:“123” or ‘123’ 对象类型:new 来创建一个对象 数组类型:Array是一个数组对象,var arr=new Array(10) arr数组大小为10。由于是弱类型的脚本语言,数组也支持混合类型如 var arr= new Array(10); arr[0]="123"; arr[1]=12; 字面常量: 12 整数, 1.2 浮点数, “hello” 字符串, true 布尔,{x:50,y:100} 对象,null 空对象(不存在任何对象),[1,2

浏览器兼容笔记整理

跟風遠走 提交于 2020-03-02 07:28:38
注:绿色字体为个人批注 , 蓝色字体为个人笔记 , 其他字体为他人文章内容。 部分内容转自:https://haomou.net/2015/09/17/2015_explore/ IE 1.IE7以下 不支持display:inline-block 2.IE img标签书写问题 IE10以下 如果自定义的标签属性写成: <img datasrc="_imgUrl_" alt="_productName_"> IE会自动将属性的名称按照驼峰发修改成如下: <img dataSrc="_imgUrl_" alt="_productName_"> 所以,以后使用,保险的方法: <img data-src="_imgUrl_" alt="_productName_"> 3.IE6 不兼容min-width 原文链接: http://caibaojian.com/min-width-min-height.html IE6 不兼容min-width,但我们可以通过IE的一个特性,就是能够根据内容的宽度或者高度自动扩充盒子的大小。一些人用 CSS 表达式来写,但更多的人也许会用IE6特有的hack来表达 (hack方式可参阅http://blog.csdn.net/freshlover/article/details/12132801) 。今天分享一个不用ie hack的 代码

为什么quicksort比mergesort更好?

妖精的绣舞 提交于 2020-03-01 23:34:53
我在接受采访时被问到这个问题。 他们都是O(nlogn),但大多数人使用Quicksort而不是Mergesort。 这是为什么? #1楼 在所有条件相同的情况下,我希望大多数人都能使用最方便的东西,而且往往是qsort(3)。 除了快速排序之外,已知数组上的快速排序非常快,就像mergesort是列表的常见选择一样。 我想知道为什么看到 基数 或桶排序这么罕见。 它们是O(n),至少在链表上,所需要的只是将密钥转换为序数的一些方法。 (字符串和浮点数工作正常。) 我认为原因与计算机科学的教学方式有关。 我甚至不得不向算法分析的讲师证明,确实可以比O(n log(n))更快地排序。 (他有证据证明你不能比O(n log(n))更快地 进行比较 ,这是真的。) 在其他新闻中,浮点数可以按整数排序,但您必须在之后转换负数。 编辑:实际上,这是一种更加恶毒的方式来整理浮点数 - 整数: http : //www.stereopsis.com/radix.html 。 请注意,无论您实际使用哪种排序算法,都可以使用位翻转技巧... #2楼 对于原始值的DualPivotQuickSort带来的变化,答案会略微倾向于快速排序。 它在 JAVA 7中 用于在 java.util.Arrays中 进行排序 It is proved that for the Dual-Pivot

JAVA中浮点数的一些注意事项

别等时光非礼了梦想. 提交于 2020-03-01 20:20:48
在比较大小时,千万不能用下面这种方式来比较大小 System . out . println ( 0.1 + 0.2 == 0.3 ) ; 这是很危险的,很显然,结果是false 在计算机中存储的都是二进制数,十进制中的一些有限小数,如:0.3在计算机中存储就有可能是无限循环小数,就不能直接用“==”进行比较。一般都是用下面的方式来进行比较: System . out . println ( Math . abs ( 0.1 + 0.2 - 0.3 ) < 1e-6 ) ; 一般浮点数来比较,都是要求足够接近,一般10的-6次方就差不多可以认为相等了。 还有就是,类似这种的 System . out . println ( 1 / 0 ) ; 很显然会抛出 java.lang.ArithmeticException: / by zero 的异常 但是,如果换成这个 System . out . println ( 1.0 / 0 ) ; 会得到这样的一个结果 Infinitly 即无限大的意思,这个时候,计算机是在计算一个浮点数与一个无限小的数的商,肯定就是无穷大了。 在IEEE754还有一些特殊值 double x = 1.0 / 0 ; System . out . println ( x + x ) ; System . out . println ( 1 / x ) ;

day02-----------java 语言基础(基础语法)(传智视频)

我与影子孤独终老i 提交于 2020-03-01 10:55:55
关键字:被java语言赋予特定含义的单词。 特点: 组成关键字单词的字母全部小写。 标识符:就是给类,接口,方法,变量等起名字的字符序列 常见的命名规则 :见名知意 举例:我要定义一个学生类 class Student {} class S{} 包:其实就是文件夹,用于把相同的类名进行区分 全部小写 单级:liuyi 多级:cn.itcast cn itcast 类或者接口: 一个单词:单词的首字母必须大写 举例:Student,Dog 多个单词:每个单词的首字母必须大写 举例:HelloWorld,StudentName 方法或者变量: 一个单词:单词的首字母小写 举例:main,age 多个单词:从第二个单词开始,每个单词的首字母大写 举例:studentAge,showAllNames() 常量: 一个单词:全部大写 举例:PI 多个单词:每个字母都大写,用_隔开 举例:STUDENT_MAX_AGE 数据类型 (1)Java是一种 强 类型语言,针对每种数据都提供了对应的数据类型。 (2)分类: A:基本数据类型:4类8种 B:引用数据类型:类,接口,数组。 (3)基本数据类型 A:整数 占用字节数 byte 1 short 2 int 4 long 8 B:浮点数 float 4 double 8 C:字符 char 2 D:布尔 boolean 1 注意:

来自python的【数字Number总结/Math数字函数】

こ雲淡風輕ζ 提交于 2020-03-01 10:42:48
Number数字 在python的文档中,几个注意点: Math 模块 不支持复数的函数 ,复数的函数是使用 cmath 来进行计算。所以绝大部都是不支持复数的。 在math模块下,除非显示的标注,否则返回 浮点数 . number 定义 number用于定义数据,并且数据是不允许改变的。只能够重新开辟 内存空间 。 number是不可变数据。str也是不可变数据。 变量被赋值的时候才会被创建 删除变量 del var1,varr2 ,可以同时删除多个,会删除内存空间,后续用到的将not defined 数值类型 整型(int) :无小数点,可正可负,也可以用十六进制、八进制、二进制来表示整数 浮点型(float) :整数和小数组成,可以是科学计数法 复数(complex) :实数和虚数组成, 复数的实部和虚部均是浮点数 。a+bj 或 complex(a,b) 在Python3中无Long型,python2,会有范围划分,并且long型数据带有后缀 L ,是将long整合到int类型中,当超过之后自动换算成高精度。 在很多语言中是有:整数分为 short 、int 、long、; 浮点数分为 float double # 2 8 16 进制表示int类型整数 print ( 0xA0f ) #2527 print ( type ( 0xA0f ) ) #<class int>

printf: 转换说明符

风格不统一 提交于 2020-03-01 09:27:13
%a 浮点数、十六进制数字和p-计数法(C99) %A 浮点数、十六进制数字和P-计数法(C99) %c 一个字符 %d 有符号十进制整数 %e 浮点数、e-计数法 %E 浮点数、E-计数法 %f 浮点数、十进制计数法 %g 根据数值类型不同自动选择%f或%e。 %e 格式在指数小于-4或者大于等于精度时使用 %G 根据数值类型不同自动选择%f或%E。 %E 格式在指数小于-4或者大于等于精度时使用 %i 有符号十进制整数(与%d相同) %o 无符号八进制整数 %p 指针 %s 字符串 %u 无符号十进制整数 %x 使用十六进制数字0f的无符号十六进制整数 %X 使用十六进制数字0F的无符号十六进制整数 %% 打印一个百分号 来源: oschina 链接: https://my.oschina.net/u/614348/blog/631050

动手动脑

与世无争的帅哥 提交于 2020-03-01 07:25:06
动手动脑 1 public class EnumTest { public static void main(String[] args) { // TODO Auto-generated method stub Size s=Size.SMALL; Size t=Size.LARGE; //s 和 t 引用同一个对象? System.out.println(s= =t); // // 是原始数据类型吗? System.out.println(s.getClass().isPrimitive()); // 从字符串中转换 Size u=Size.valueOf("SMALL"); System.out.println(s= =u); //true // 列出它的所有值 for(Size value:Size.values()){ System.out.println(value); } } } enum Size{SMALL,MEDIUM,LARGE} ; 运行结果分别为 false false true SMALL MEDIUM LARGE 第一个输出是错的, s和t不是引用同一个对象 第二个输出是错的, Size类型不是原始数据类型,原始数据类型有byte(字节)、short(短整型)、int(整数型)、long(长整型)、float( 单精度浮点数 类型 )、double(

动手动脑

自古美人都是妖i 提交于 2020-03-01 07:22:23
动手动脑1 public class EnumTest { public static void main(String[] args) { // TODO Auto-generated method stub Size s=Size.SMALL; Size t=Size.LARGE; //s和t引用同一个对象? System.out.println(s= =t); // //是原始数据类型吗? System.out.println(s.getClass().isPrimitive()); //从字符串中转换 Size u=Size.valueOf("SMALL"); System.out.println(s= =u); //true //列出它的所有值 for(Size value:Size.values()){ System.out.println(value); } } } enum Size{SMALL,MEDIUM,LARGE} ; 运行结果分别为 false false true SMALL MEDIUM LARGE 第一个输出是错的,s和t不是引用同一个对象 第二个输出是错的,Size类型不是原始数据类型,原始数据类型有byte(字节)、short(短整型)、int(整数型)、long(长整型)、float( 单精度浮点数 类型)、double( 双精度浮点数 类型)

什么时候使用reinterpret_cast?

别来无恙 提交于 2020-02-28 06:51:38
我对 reinterpret_cast 和 static_cast 的适用性不感到困惑。 从我所读的内容中,一般规则是在编译时可以解释类型的情况下使用static强制转换,因此单词 static 。 这是C ++编译器内部也用于隐式强制转换的强制转换。 reinterpret_cast 适用于两种情况: 将整数类型转换为指针类型,反之亦然 将一种指针类型转换为另一种。 我得到的一般想法是,这是不可移植的,应该避免。 我有点困惑的是我需要的一种用法,我从C调用C ++,C代码需要保留在C ++对象上,因此基本上它包含 void* 。 应该使用哪种强制转换在 void * 和Class类型之间进行转换? 我看过 static_cast 和 reinterpret_cast 用法吗? 虽然从我所读的内容来看, static 似乎更好,因为强制转换可以在编译时进行? 尽管它说使用 reinterpret_cast 从一种指针类型转换为另一种指针类型? #1楼 template <class outType, class inType> outType safe_cast(inType pointer) { void* temp = static_cast<void*>(pointer); return static_cast<outType>(temp); }