首页 > 其他分享 >计算机的 bit(比特)和Byte(字节)

计算机的 bit(比特)和Byte(字节)

时间:2023-09-05 12:32:41浏览次数:31  
标签:存储 计算机 Byte bit 我们 字节

我们来说说和数据有关的单位 bit 和 Byte。

在说这这个数据当我之前,大家应该都知道计算机实际上只能处理0和1。

计算机的 bit(比特)和Byte(字节)_Java

计算机能够把0和1转换为电路中的信号来进行计算,这个其实就是计算机的本质。

单位定义

我们先对需要使用的单位进行一些定义。

bit(比特)

bit 就是计算机对数据存储和移动的最小单元,这个只有2个值,0和1。它的简写为小写字母“b”。

作为信息技术的最基本存储单元,因为比特实在太小了,所以大家生活中可能接触不到,在装宽带的时候被忽悠的就是这个单位。

Byte(字节)

Byte 是字节的英文写法。它的简写为大写字母“B”。

既然名字叫字节,那肯定跟字符有关系。英文字符通常是一个字节,也就是1B。中文字符因为字符集的问题通常会超过 2 个字节。

这是和中文字符有关的,因为中文字符编码的问题,我们是没有办法把所中文存储在一个字节中的。

所以对亚洲国家用的字符,比如我们以后可能会说到的 CJK,会占到 4 个字节。

转换关系

8 bit 等于 1 byte。

一个字节等于八位。

表达用途

因为 bit 这个单位实在是太小了,用在存储上并不是很好用。

所以我们大致上只需要了解: bit 用在数据通信上,存储上用的是 Byte。

简单来说,和通信有关的都是位,和存储有关的都是字节。

这是因为在数据传输中,交换机和硬件只负责把 0 或者 1 发送到目的地,所以使用位这个单位更好来表示数据传输。

计算机的 bit(比特)和Byte(字节)_Java_02

为什么要了解 Bit 和 Byte

现在来说下为什么需要对 Bit 和 Byte 有些基本的了解。

其实我们主要是用来理解下计算机是如何对数据进行计算的。

比如说,在 Java 程序中,我们都会知道有一个数据类型,其实所有的计算机语言都会有数据类型的。

我们拿最常用的 Int 来举例,如果你不知道 Java 的 Int 是多少位的话,你可以随意搜索下应该得到的答案是 Java Int 是 32 位的。

当我们在程序中对 Int 进行计算的时候,就涉及到你需要进行计算的 2 个数字,如何通过位的移动来获得结果,因为我们知道计算机只能处理 Bit 数据。

举例来说,假设我们希望让计算机告诉我们 12 +12 等于多少,首先我们就需要知道 12 在计算机内是怎么存储的,对于数字 12 的整数类型,程序会用一什么 0 和 1 的序列进行存储。

在做加法的时候,程序会通过怎么样的位移动来得到具体的值。

这个过程实际上就是计算机 CPU 处理的过程。

因为我们在程序计算的时候,这部分对大部分程序开发都是透明的,所以我们实际上只需要了解 Bit 和 Byte 直接的一些关系就好了。

因为了解这些关系,能够有助于我们在以后看到一些文献资料的时候了解存储和计算过程,但因实际用得并不多,大部分情况也不会要求你主动去进行位移动计算,因为这是计算机做的事情。

https://www.isharkfly.com/t/bit-byte/14696

标签:存储,计算机,Byte,bit,我们,字节
From: https://blog.51cto.com/cwikius/7370719

相关文章

  • 计算机的 bit(比特)和Byte(字节)
    我们来说说和数据有关的单位bit和Byte。在说这这个数据当我之前,大家应该都知道计算机实际上只能处理0和1。计算机能够把0和1转换为电路中的信号来进行计算,这个其实就是计算机的本质。单位定义我们先对需要使用的单位进行一些定义。bit(比特)bit就是计算机对数据存储和移......
  • MQ消息中间件之RabbitMQ
    1.MQ知识扩充1.1什么是MQ消息中间件MQ全称MessageQueue(消息队列),是在消息的传输过程中保存消息的容器。它是应用程序和应用程序之间的通信方法1.2为什么使用MQ【注:在项目中,可将一些无需即时返回且耗时的操作提取出来,进行异步处理,而这种异步处理的方式大大的节省了服务器......
  • 安装weditor时提示“ UnicodeDecodeError: 'gbk' codec can't decode byte 0xad in po
    问题:安装weditor时提示“UnicodeDecodeError:'gbk'codeccan'tdecodebyte0xadinposition645:illegalmultibytesequence” 解决:方法一:解决方法一设置用户或者系统变量: 方法二:设置临时变量后再pipinstallsetPYTHONUTF8=1pipinstallweditor 原......
  • RabbitMQ面试相关
    1.如何保证消息队列的高可用啊?RabbitMQ是比较有代表性的,因为是基于主从做高可用性的,我们就以他为例子讲解第一种MQ的高可用性怎么实现。rabbitmq有三种模式:单机模式,普通集群模式,镜像集群模式(1)单机模式(2)普通集群模式意思就是在多台机器上启动多个rabbitmq实例,每个机器启动......
  • 通过class字节码了解StringBuilder拼接字符串效率高的原因
    挺久没具体去看了,随手记一下吧。Stringstr="";for(inti=0;i<10;i++){str+=i;}这样的拼法,实际上从分析class的字节码来看,是在循环里面newStringBuffer对象,相当的耗。通过这样的分析,给新人解释,是最有效的了。还能提升一些了解java底层知识的兴趣。——《Java编程思......
  • c++ opencv 16bit tiff图像学习笔记
    1、读取图像基本信息:长、宽、通道数、灰度最大值、最小值、均值、方差值和灰度直方图#include<opencv2/opencv.hpp>usingnamespacecv;usingnamespacestd;intmain(intargc,char**argv){//读入图像Matsrc=imread("C:\\Users\\MingYi-LZQ\\Desktop\\1......
  • rabbitmq发布确认高级
    前言在之前的发布确认中,生产者发送消息到mq中,消费者在从mq中取出消息满足持久化的.发布确认是一个保证RabbitMQ可靠性的一个机制  保证生产者将信息成功的发送到RabbitMQ的server端了,那么broker就会回一个确认,如果没有收到或者收到拒绝信息,那么说明可能网络不好没有发送成......
  • vivado 教程笔记 -创建工程 - 编译 - 布局布线 - 生成bit - 下板验证
    1、创建工程工程就算创建完了。2、 创建源文件双击打开后,就可以敲入代码 3、语法编译、布局布线、IO配置约束输入完一个完整代码后,先对语法进行综合分析,可直接跳过RTLANALYSIS,直接点击SYNTHESIS(综合)进行布局布线布局布线完后,IO管脚配置约束有时......
  • response中的字节流使用的案例
    2023-09-03导入字节工具包,可以用于复制输入流与输出流<dependency><groupId>org.apache.commons</groupId><artifactId>commons-io</artifactId><version>1.3.2</version></dependency>案例packagecom.hh.response;......
  • rabbitmq延迟队列
    概念所谓“延迟消息”是指当消息被发送以后,并不想让消费者立刻拿到消息,而是等待特定时间后,消费者才能拿到这个消息进行消费使用场景1、订单在十分钟之内未支付则自动取消2、预定会议后,需要在预定时间点前十分钟通知各个与会人员参加会议。3、淘宝七天自动确认收货,自动评价功......