美文网首页
数据的宽度和逻辑运算

数据的宽度和逻辑运算

作者: 豆瓣奶茶 | 来源:发表于2018-12-11 23:46 被阅读9次

title: 数据的宽度和逻辑运算
date: 2018-12-10
tags:
- 滴水逆向
- 汇编
- 逻辑运算
categories:
- 滴水逆向三期视频教程


数据的宽度

我们需要知道,无论是我们平时看到的视频(avi,mp4),还是图片png,jpg,在计算机中存储的时候,都是存储为0,1这个符号。

在之前我们的学习中,我们经常会听到原码、反码、补码等消息,这都是后人总结出来的一些概念,计算机本质是没有这些的。

就比如说有符号整型和无符号整型,计算机只知道自己存储的是0和1,是使用它的人自己规定这个是有符号还是无符号的。

我们先把存储比作是容器,如果容器只能装4bit,比如我们存了一个数ffff,我们再给这个数加1,会变成什么?

答案是0.计算机和真实的世界是不一样的,存不下的时候,直接抛弃。

在有符号数据中,为什么用1表示负数?

几个重要的计量单位(数据宽度)

1 byte = 8 bit
1 word = 16 bit
1 dword = 32 bit

二进制的逻辑运算

逻辑运算就是CPU计算的本质,汇编语言并不是cpu计算的本质。(这块就设计到了电路的知识)

或 or |
与 and &
异或 xor ^
非  not !

or,and,xor,not就是汇编语言的表示

CPU是如何计算2+3=?

先用一个容器X:存放二进制的2:0010
在用一个容器Y:存放二进制的3:0011


image.png

然后再用一个容器R:存放0010和0011异或的结果。
CPU需要判断容器R中是否是最终的结果,是否还需要继续运算。怎么判断呢?


image.png

让0010和0011进行与运算,与运算的结果向左移一位,<<1 ,如果结果是0,那说明上面容器R中的就是真正的结果。

如果不是0,就是容器R中的值放到X中,把刚才判断得到的结果放到Y中,重复上面的操作。

image.png

逻辑运算的两个应用

判断某个值第N位的值是多少?

image.png

比如我们要判断第四位的值是多少,我们就构造一个第四位是1的数,然后与这个数进行与运算。如果结果>0,表明第四位是1,不然第四位是0.
因为我们构造的数除了第四位是1,其他都是0.与运算的话,除了第四位,其他的肯定都是0.

相关文章

  • 数据的宽度和逻辑运算

    title: 数据的宽度和逻辑运算date: 2018-12-10tags:- 滴水逆向- 汇编- 逻辑运算cat...

  • 数据宽度-逻辑运算

    数据宽度 整数的边界 计算机中存储的整数超出边界,会被丢弃。 几个重要的计量单位 BYTE 字节 8BI...

  • 进制和内存

    进制和内存 数据宽度 因为计算机受硬件制约,数据都是有长度限制的(数据宽度),超过最多宽度的数据会被丢弃 计算机中...

  • 2019-02-19

    Javascript_03 数据类型转换、数据类型判断、作用域及let和var的区别、逻辑运算符 一、复习(数据类...

  • 2018-5-2周末线下聚会问题总结

    数学运算符(math方法总结) 数据类型 object -> 包含object和null 逻辑运算符 数组 ...

  • 1.4数据宽度

    计算机对数据的处理是有大小限制的。 本节必须掌握的知识点: 1、数据宽度 2、理解有符号数、无符号数 3、进制的符...

  • Python简介

    一、计算机组成 1.1硬件系统 (1)运算器: 负责数据的算术运算和逻辑运算,即数据的加工处理;(2)控制器: 计...

  • pandas学习笔记之逻辑运算

    逻辑运算 单个逻辑运算如果要获取U2>100的数据应该怎么做?输入以下内容试试:data[“U2”] > 100返...

  • 使用Numpy和Opencv完成图像的基本数据分析(Part I

    摘要:使用Numpy和Opencv完成图像的基本数据分析后续部分,主要包含逻辑运算符操作、掩膜以及卫星图像数据分析...

  • SAS 学习

    SAS读取数据的规则是遇到空格时默认该数据读取完毕,除非是指定了数据宽度时,则以宽度值来确定数据;冒号的作用是告诉...

网友评论

      本文标题:数据的宽度和逻辑运算

      本文链接:https://www.haomeiwen.com/subject/crvjhqtx.html