计算机是如何实现乘法运算

2022-08-02
阅读 3 分钟
2.7k
机器码中看到的 , 是用来区分符号位和数值位的,并不实际意义二进制的乘法运算和十进制乘法运算是一样的,都是采用:被乘数绝对值和乘数绝对值的每位相乘,然后错位相加[x]原 = 1.1101,[y]原 = 0.10111.1101 × 0.1011 = 1.100011110.1101 × 0.0001 = 0.000011010.1101 × 0.001 = 0.00011010.1101 × 0.00 = 0.0000000.11...

为什么补码可以将减法变成加法运算

2022-08-01
阅读 1 分钟
2.2k
ps 如无特殊说明,使用的是 8 位字长两个机器数的加法运算:00001110 + 10001110 = 10011100把这两个机器数看成是无符号数相加,那么他们的结果没有问题:00001110 -> 1410001110 -> 14210011100 -> 156把这两个数看成是有符号数相加,这就出现了问题:00001110 -> 1410001110 -> -1410011100 ≠ 0如何修...

移位运算

2022-07-29
阅读 2 分钟
2.1k
移位运算分为算术移位、逻辑移位、循环移位算术移位在算术移位中,通过改变数码位和小数点的相对位置,从而实现各个数码位的位权。在各机器码的移位中,左移相当于 ×2,右移相当于 ÷2,但由于位数有限,会造成溢出,就无法精确的等效乘除法。原码的算术移位原码的算术移位,符号位不参与移位,由于小数点是相对固定的,...

原码、反码、补码、移码

2022-07-28
阅读 2 分钟
3.4k
原码、反码、补码、移码存在于有符号数中,有符号数的最高位是符号位,0 表示正数,1 表示负数,这些码统称为机器数。在计算机中,一个二进制数由符号位和数值位组成,在 8 位计算机中,由于最高位是符号位,数值位最多也就 7 位。ps:下面介绍的各种码,如没有特殊说明,都是 8 位原码原码是计算机用于表示的十进制数的...

循环冗余校验码原理(CRC码)

2022-07-27
阅读 2 分钟
2.8k
循环冗余校验码(Cyclic Redundancy Check, CRC)的基本思想是发送方和接收方约定一个除数,被除数是由信息位(n)和校验位(k)组成,最终除法的余数要等于 0

海明码的原理

2022-07-27
阅读 3 分钟
3.5k
海明码基本思想是分组偶校验,由信息位(n)和校验位(k)组成,海明码的校验位计算公式:2^k >= n+k+12^k 表示:k 个校验位对应 2^k 种状态n + k + 1 表示:n + k 代表任何一位都可能出错,1 代表一种正确的状态原理假设数据位 D8~D1 = 10101011,求海明码?首先算出校验位,代入公式 2^k >= n + k + 1n = 8 -> k ...

使用useState多次渲染问题

2021-12-16
阅读 3 分钟
6.3k
下面的代码只会渲染一次,它会将setLoading和setData进行合并。这个其实和类组件是一样的,在异步函数中不会合并setState。

手写简易打包工具webpack-demo

2021-10-03
阅读 4 分钟
2.9k
webpack作为一款打包工具,在学习它之前,对它感到特别陌生,最近花了一些时间,学习了下。学习的最大收获是手写一个简易的打包工具webpack-demo。webpack-demo分为主要分为三个部分:生成抽象语法树获取各模块依赖生成浏览器能够执行的代码依赖准备src目录下有三个文件:index.js、message.js、word.js。他们的依赖关系...

【长文】玩转 webpack 学习笔记

2021-09-07
阅读 21 分钟
3.8k
最近工作中webpack用的比较多,想系统的学习一下,找到了极客时间的教程,跟着视频上讲的学了一遍,收获挺大的。虽然视频教程是2019年出的,有点老,有些知识已经过时了,但并不妨碍学习。那些过时的知识全当了解,可以搜索寻找替代方案。学习资源:玩转webpack,下面是我的学习笔记。

SVG 入门

2021-02-01
阅读 1 分钟
1.1k
viewBox:用于画布上制作 SVG图形的坐标系统( viewBox="x, y, width, height" )默认和 viewBox 一致。 {代码...} 如果进行手动指定, SVG 会进行自动换算缩放比: width/viewBox.width、 height/viewBox.height {代码...} Tip: viewBox 一般作为静态值需要固定下来, width 和 height 是可以动态修改的

常用的数组去重方式

2020-08-20
阅读 2 分钟
1.5k
数组去重通用做法一般有两种方法:1、两层循环2、利用对象属性的不可重复性还有一种是语言本身 api 特性, js 利用 indexOf 、 includes 、 Set 等方法

ToyReact 项目总结

2020-08-14
阅读 15 分钟
2.6k
optimization: { minimize: false} :打包后的会把每一个文件放在 eval 中执行,通过 sourceURL 的方式在浏览器中打开它的时候变成一个单独的文件 {代码...}

react 高阶使用

2020-08-14
阅读 3 分钟
1.5k
非受控组件无法使用 setState 获得想要的结果时使用非受控组件,比如文件上传Portal作用:让组件渲染到父组件以外使用场景:overflow: hidden父组件 z-index 值太小fixed 放在 body 的第一层级 {代码...} Context {代码...} 异步组件 {代码...} 性能优化react 默认父组件有更新,子组件无条件更新shouldComponentUpdate ...

react setState 机制

2020-08-14
阅读 3 分钟
1.4k
setState特点不可变值可能是异步更新可能会被合并state 要在构造函数中定义不可变值函数式编程思想,纯函数,不能有副作用什么时候修改,什么时候对 state 操作,不要提前操作 {代码...} 不能直接对数组进行 pop 、 push 、 splice 等操作 {代码...} 不能直接对 this.state.obj1 操作为什么要强调不可变值,因为在性能优...

redux 详解

2020-08-13
阅读 5 分钟
2.5k
React Components 指的就是 component 组件Store 指的就是存储数据的公共区域这个过程就像在图书馆借书的一个过程React Components 代表的是一个借书的用户,当我在图书馆借书的时候,我要跟图书馆管理员说我要借什么书,这个语境表达就是 Action Creators,可以理解为你说的那句话:你要借什么书,图书馆的管理员就是 S...

react 基础知识

2020-08-13
阅读 5 分钟
1.9k
React.FunctionComponentReact提供了一个组件类型React.FunctionComponent,可简写React.FC,可以接收一个泛型p,默认是{}children,返回一个React.ReactNode,这个children是任何component都拥有的静态属性defaultProps,组件的默认属性,外部可以不传这个属性。 {代码...} React Hook完全可选百分百向后兼容没有计划从...

React 事件和 Dom 事件的区别

2020-08-13
阅读 1 分钟
1.9k
{代码...} 这里面的 event 不是原生事件,而是合成事件 SyntheticEvent原生事件要使用 event.nativeEvent原生事件是被挂在到 document 上的,所以 currentTarget 获取到的是 document虽然 SyntheticEvent 是 react 模拟的,但 Dom 具有的能力,它都有,只是这些能力不受 Dom 控制。比如:阻止默认行为 preventDefault ,...

git 常用指令

2020-08-01
阅读 2 分钟
1.1k
更新本地代码 {代码...} 新建分支 {代码...} 切换分支 {代码...} 查看本地文件状态 {代码...} 暂存代码 {代码...} 提交代码 {代码...} 查看提交信息 {代码...} 代码推到远端 {代码...} 合并分支 {代码...} 清除本地文件修改 {代码...} 临时保存最近修改 {代码...} 查看stash {代码...} 恢复临时保存 {代码...} git stash...

React 仿简书项目实战

2020-07-29
阅读 6 分钟
2.7k
项目源码[链接]项目结构 {代码...} 重置 css搜索reset.css,复制过来styled-componentscss文件一旦在一个文件中被引入,会在全局中生效这样写css会有些问题,当页面中有多个组件时,样式存在被覆盖的风险我们希望在写样式的时候,每个组件的样式是独立的,不会互相的影响使用将index.css重命名为style.js在index.js引入s...

Redux 使用

2020-07-26
阅读 5 分钟
4.9k
React Components 指的就是 component 组件 Store 指的就是存储数据的公共区域 这个过程就像在图书馆借书的一个过程 React Components 代表的是一个借书的用户,当我在图书馆借书的时候,我要跟图书馆管理员说我要借什么书,这个语境表达就是 Action Creators,可以理解为你说的那句话:你要借什么书,图书馆的管理员就...

React 基础知识

2020-07-25
阅读 3 分钟
1.1k
删除数据react 中有一个概念 immutable ,意思是不允许 state 有任何的改变。一旦修改 state ,后面做 react 性能做优化的时候会有问题。 {代码...} 属性名label 的 for 属性,在 jsx 中会和 for 循环冲突, react 用 htmlFor 来代替 label 标签的 for {代码...} 父组件和子组件通信子组件操作父组件的数据:父组件向子...

在小程序中实现 watch

2020-07-20
阅读 3 分钟
1.8k
ES5 提供了 Object.defineProperty() 的方法,通过 getter/setter 劫持对象,实现在赋值时调用 setter 方法,执行 watch 中对应的方法,从而实现监听。

小程序中实现 calendar 组件

2020-07-20
阅读 8 分钟
2.2k
通过上面截图可以看出 点击上月和下月切换月份 点击具体的日期可以在页面上显示选中日期 点击确定将会获得选中日期 点击灰色的日期可以跳转对应月份并高亮日期 结构 日历结构主要分为 mask 和 calender 代码 {代码...} mask 是遮罩层,当日历弹出时,显示在日历后面,calender 之所以没有放在里面,是因为组件弹出时需要...

滚动到顶部踩坑记录

2020-07-20
阅读 1 分钟
3.7k
一般在比较长的页面中会有一个滚动到顶部的按钮,用户点击一下 300ms 内,会滚动到顶部,有动画效果。 一开始我想,这不是很简单,一行代码完美解决 {代码...} 使用这个可以到顶部,但是没有动画,没有采用 {代码...} 等到了手机上才发现,点击居然没有反应,才发现原来是我想的太简单,一个滚动到顶部的按钮竟然有这么...

React Hook 详解

2020-03-31
阅读 15 分钟
4k
React Hooks 状态:useState 副作用:useEffect useLayoutEffect 上下文:useContext Redux:useReducer 记忆:useMemo 回调:useCallback 引用:useRef uselmperativeHandle 自定义:Hook useDebugValue setState 首次渲染组件时,App会被调用,得到虚拟dom,创建真实的dom 当点击button时,调用setN,再次调用App,得...

小程序使用label组件扩展原生组件button

2020-03-30
阅读 1 分钟
1.5k
如上面代码所示,label标签有一个for属性,用来绑定组件id。此时.button已经拥有和原生button一样的开放能力,并且可以自由玩耍。

学习自己写TS中的描述文件

2020-01-29
阅读 2 分钟
2.8k
在ts中直接使用jQuery,是会报错的,一般情况是直接安装一个已写好的jQuery.d.ts文件 不过这次是自己学习写一下jQuery.d.ts文件。 {代码...} 定义全局变量$ .d.ts文件中定义$: 定义一个全局变量$ $类型是函数,返回是空 $函数接收一个参数readFunc,返回空 readFunc类型函数,返回是空 {代码...} 定义全局函数$ .d.ts文...

小程序中设置缓存过期

2020-01-14
阅读 3 分钟
2.6k
需求是两张图片在这个时间段内交替显示,当天只弹一次图片。 后端返回的数据格式: {代码...} 小程序中缓存没有过期时间,也就是说存储进去的缓存要自己手动清除,那么如何保证两张图片能够交替显示呢? 需求分析 一天只弹一次广告 图片轮流显示 只在时间范围内显示 这里有个关键是,如何知道时间有没有到第二天? 思路 ...

小程序中解决网络请求缓存

2019-12-28
阅读 4 分钟
4.3k
看到这个问题的时候,首先想到的是在响应头上加上cache-control,经过测试发现小程序并不支持网路请求缓存。搜索发现官方明确答复,小程序不支持网络请求缓存:wx.request不支持http缓存

javascript基本语法学习总结

2019-09-14
阅读 2 分钟
1.2k
语句和表达式 表达式和语句的区别在于,语句是为了进行某种操作,一般情况下不需要返回值,而表达式是为了得到值。 一般情况下,在javascript中每一行就是一个语句。 {代码...} 这是一条赋值语句,其中1+3就是语句。 标识符 在javascript中,第一个字符可以是Unicode字符或或者$或者_或者中文。后面的字符,除了上面所说...