- 博客(7)
- 收藏
- 关注
原创 number的理解
1太小了,不足以被Number.MAX_VALUE所感知且JS引擎也无法表示出Number.MAX_VALUE + 1所以JS引擎认为Number.MAX_VALUE等于Number.MAX_VALUE + 1。对于每一个数都有自己的最小增量,同一个量级(指数位相同)的最小增量是相同的。虽然上边的式子看不出Number.MAX_VALUE的指数是多少,但是这是最大值吗,所以指数位肯定是最大的,全0,全1有特殊作用,所以指数只能是1023,所以Number.MAX_VALUE的最小增量为。
2024-08-10 01:31:18
666
原创 浏览器跨域详解
预检请求的请求方式Options,通过会在请求头中携带跨域请求的请求方法,由于造成本次请求不是普通请求的原因是,请求的方法为put,所以请求头通过Access-Control-Request-Method: PUT, 询问服务器是否允许put请求进行的跨域访问,如果不允许,那么浏览器就不会发送这一次的请求,同时抛出错误。上面的成功实例是在edge浏览器中实现的。不是普通请求就是预检请求,当一个请求是预检请求的时候,浏览器不会立即发送这次的请求,而是会先构建一个报文,询问服务器是否允许这样的请求发送给它。
2024-07-14 23:22:23
443
原创 cpp网络编程基础
在网络中要想定位到一个服务需要两个参数,IP和端口,IP定位到你的电脑,端口定位到运行在你电脑上的应用,在bind函数中使用sockaddr结构来表示一个地址,但是不严格要求数据类型必须是sockaddr,只要第一个u_short表示地址类型,且长度为指定的长度即可,在地址类型为IPV4的前提下,我们更倾向于使用sockaddr_in来表示地址。绑定地址以后那么你再互联网上就有了一个身份标识,这个标识唯一指向你,此时别人就可以通过这个唯一标识访问你了(如果是局域网,可能需要进行端口转发)。
2023-11-14 23:08:54
49
1
原创 daylight:C++第一课
小数字面量默认是double类型的,所以如果直接给float类型的变量赋值的话,会存在一个double转float的过程,可能会导致精度丢失,可以在小数后面添加"f"后缀,表示这个小数是float类型的。main函数是c++的入口函数,有且仅有一个,之所以在main函数内部写入system(“pause”)是为了避免代码编译运行以后闪退。使用std的命名空间,这样调用其中函数的使用就不需要通过std来标识了。short:2字节, int: 4字节,long 4字节 long long 8字节。
2023-11-06 23:00:55
44
1
原创 dart-空安全
dart是强类型的语言,一个变量一旦被定义,那么它的的类型就确定了(除了使用Object和dynamic定义的),Null类型是其他类型的子类型(个人理解),所以null可以赋值给任何类型变量,dart为了安全考虑,提出了。dart引入空安全,对我们的编码提出了一定的要求,dart中的变量如果只是定义了,没有进行赋值,那么系统默认赋予null。如果我们申明了一个变量,不允许其为null(没有使用?***申明的变量,或者类型就是NUll的变量,能够保存值null,其余情况均会报错。
2023-08-26 17:48:29
100
1
原创 连续子数组最大和
连续子数组最大和题目 输入一个长度为n的整型数组array,数组中的一个或连续多个整数组成一个子数组,子数组最小长度为1。求所有子数组的和的最大值。 输入 :[1,-2,3,10,-4,7,2,-5] 输入 :18 思路: 该题的关键在于何时生成子数组 自底向上分析: 第一次得到数组[1], sum = 1, max = 1 第二次得到数组[-2], 此时划分了子数组,如果-2加入上一个数组, 数组的和sum就为负数, 对其他的数组元素就没有了增 强的作用,所以需要划分子数组。划分
2022-02-21 18:17:46
144
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人