精华内容
下载资源
问答
  • 一字节是什么意思
    千次阅读
    2021-07-23 00:28:31

    字节是什么意思?字节是什么单位

    现代计算机的计算和存储都是二进制信号来实现的,二进制信号就是电脉冲信号。这些二进制数字(脉冲)被规定为位(bit)。人们理解十进制表示法是很自然的事情,因为我们都有十个手指,而且从小就被灌输这样的理解,但是对于机器来说二进制更简单,更易于表示,计算,存储,压缩。二进制电路简单可靠而且很容易就能扩展到数十亿级别。

    这里就有一个问题了,人怎么理解二进制信号,010111001这些数字对于我们毫无意义,为了给这些数字赋予人类便于理解意义,人们就用二进制数字表示最基础符号,当然每个人都可以约定自己的一套(这就叫编码),而大家如果要想互相通信而不造成混乱,那么大家就必须使用相同的编码规则,于是美国有关的标准化组织就出台了ASCII编码,统一规定了上述常用符号用哪些二进制数来表示。

    一开始表示的信息很少,只有大写和小写字母,数字0 到9、标点符号,还有一些特殊字符,人们一算用7bit就足以表示所有的了,但是后面描述的事物越多,7位不能满足了,就扩展到8位二进制数来表示。就是人们现在所使用的ASCII码。

    8位表示一个字符人们看起来还是很麻烦,人们又引进十六进制来表示。就像你的截图中为什么两个数字一组,这两个数字是十六进制,正好表示八位二进制,也就是表示一个ASCII字符。

    为了便于识别就规定1byte = 8bit,我的理解字节就是表示人类理解的最小单位。

    我认为“字节”是一个表达二进制数的单位,它是由八个二进制的位组成,其计数范围用是从00000000至11111111,若用十进制表达就是从0到255,这就是一个字节byte波特也就是一个字节可缩写为B,其中每一位数有两个状态那就零“0”与壹“1”,这一位叫一个比特bit,规定八个比特的位长度为一个字节。上述关于二进制计数的单位都是用首位字母B开始的单词,为了区别这两个单位采用大写的“B”表示字节,比如某存储芯片多少KB那就是多少字节。用小写的“b”表示位,比如某设备传送速度多少Kb/S那就是指它每秒传送的速度是多少位。

    虽然当前在数字式电子计算机中应用,但是二进制的计数方式在远古时已经广范应用了,我们经常听到或者是看到的一个词八卦,它所描述的某些事与物就是以二进制的形式表达的,比如“--”与“一”,后来随着科技的发展电能的应用,用电来传递信息的技术最早那就是电报,当年的莫尔斯先生用点“·”与划“-”这两种形式组成了所有字符编码的基本单位,实现了用电能快速而且是远距离传递信息的方法,是他开启人类走向神话实现梦想大门。

    更多相关内容
  • 以低字节为字地址是什么意思

    首先了解三个概念
    1、字是什么?
    可以理解为:在计算机中,一串二进制数字 作为一个整体来处理或运算的,称为一个计算机字。

    2、什么是字地址?
    就是这个字(也可以说这一串二进制数字)在内存中的起始位置。

    3、数据(这一串二进制数字)在内存中存放的两种方式(大端模式和小端模式)

    假如一串二进制数字为 1234H
    大端模式存放下,数据在内存中的位置如下
    在这里插入图片描述
    在访问该数据时,是从内存低址到内存高址进行顺序访问,所以该数据在内存的起始位置是由该数据的高字节确定。 也就是以高字节为字地址。
    同理:
    小端模式下,数据在内存中的位置如下
    在这里插入图片描述
    在这种情况下,数据在内存中的起始位置是由该数据的低字节确定。也就是以低字节为字地址。

    展开全文
  • 计算机单位-字节到底是什么?(小白简单易懂)

    千次阅读 多人点赞 2021-09-14 09:21:34
    那么字节到底是什么意思呢? 在计算机单位里,最基本的单位是bit。在bit位里存放的都是计算机能够识别的二进制数0和1。 而字节是单位byte,1 byte = 8 bit ,通俗理解就是上图中的8个小框就是1个字节的大小。所以...

    刚开始学C语言,大家一定会接触到字节这一单位。

    例如:char类型占1个字节,int类型占4个字节等。那么字节到底是什么意思呢?

    在计算机单位里,最基本的单位是bit。在bit位里存放的都是计算机能够识别的二进制数0和1。

     

     而字节是单位byte,1 byte = 8 bit ,通俗理解就是上图中的8个小框就是1个字节的大小。所以大家可以理解了char类型占1个字节的意思了吧!在C语言中,用到bit和字节这一概念的地方还有很多,如sizeof操作符的运用以及~操作符的运用等等。(会在后续的文章中写到)

     当然啦,计算机的单位不止这两个。当我们练习C语言的题目时,常常会看到题目上要求的:空间限制:32M等等。那么这个M是什么呢?为此,我总结的一个表来供大家理解。

     

     如果有哪里不正确,还请大家多多指出。

     如果这些简单的理解有帮到大家的话,希望大家支持关注一下哦 !

     

     

     

     

    展开全文
  • 什么是字节对齐,为什么需要字节对齐

    万次阅读 多人点赞 2019-09-07 14:58:43
     在C语言中,结构是种复合数据类型,其构成元素既可以是基本数据类型(如int、long、float等)的变量,也可以是一些复合数据类型(如数组、结构、联合等)的数据单元。在结构中,编译器为结构的每个成员按其自然...

    概念

      在C语言中,结构是一种复合数据类型,其构成元素既可以是基本数据类型(如int、long、float等)的变量,也可以是一些复合数据类型(如数组、结构、联合等)的数据单元。在结构中,编译器为结构的每个成员按其自然边界(alignment)分配空间。各个成员按照它们被声明的顺序在内存中顺序存储,第一个成员的地址和整个结构的地址相同。

      为了使CPU能够对变量进行快速的访问,变量的起始地址应该具有某些特性,即所谓的”对齐”,比如4字节的int型,其起始地址应该位于4字节的边界上,即起始地址能够被4整除,也即对齐跟数据在内存中的位置有关。如果一个变量的内存地址正好位于它长度的整数倍,他就被称做自然对齐。

      比如在32位cpu下,假设一个整型变量的地址为0x00000004(为4的倍数),那它就是自然对齐的,而如果其地址为0x00000002(非4的倍数)则是非对齐的。

      现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特定的内存地址访问,这就需要各种类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。

    为什么要字节对齐

      需要字节对齐的根本原因在于CPU访问数据的效率问题。假设上面整型变量的地址不是自然对齐,比如为0x00000002,则CPU如果取它的值的话需要访问两次内存,第一次取从0x00000002-0x00000003的一个short,第二次取从0x00000004-0x00000005的一个short然后组合得到所要的数据,如果变量在0x00000003地址上的话则要访问三次内存,第一次为char,第二次为short,第三次为char,然后组合得到整型数据。

      而如果变量在自然对齐位置上,则只要一次就可以取出数据。一些系统对对齐要求非常严格,比如sparc系统,如果取未对齐的数据会发生错误,而在x86上就不会出现错误,只是效率下降。

      各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据只能从某些特定地址开始存取。

      比如有些架构的CPU在访问一个没有进行对齐的变量的时候会发生错误,那么在这种架构下编程必须保证字节对齐,但其他平台可能没有这种情况,但是最常见的是如果不按照适合其平台要求对数据存放进行对齐,会在存取效率上带来损失。

      比如有些平台每次读都是从偶地址开始,如果一个int型(假设为32位系统)如果存放在偶地址开始的地方,那么一个读周期就可以读出这32bit,而如果存放在奇地址开始的地方,就需要2个读周期,并对两次读出的结果的高低字节进行拼凑才能得到该32bit数据。显然在读取效率上下降很多。

      另外字节对齐的作用不仅是便于cpu快速访问,同时合理的利用字节对齐可以==有效地节省存储空间==。

      也即CPU一次访问时,要么读0x01~0x04,要么读0x05~0x08…硬件不支持一次访问就读到0x02~0x05

      例:如果0x02~0x05存了一个int,读取这个int就需要先读0x01~0x04,留下0x02~0x04的内容,再读0x05~0x08,留下0x05的内容,两部分拼接起来才能得到那个int的值,这样读一个int就要两次内存访问,效率就低了。 

    111

    针对字节对齐,我们在编程中如何考虑?

      如果在编程的时候要考虑节约空间的话,那么我们只需要假定结构的首地址是0,然后各个变量按照上面的原则进行排列即可,基本的原则就是把结构中的变量按照类型大小从小到大声明,尽量减少中间的填补空间,还有一种就是为了以空间换取时间的效率,我们显示的进行填补空间进行对齐,比如:有一种使用空间换时间做法是显式的插入reserved成员:

    struct A{
        char a;
        char reserved[3];    //使用空间换时间
        int b;
    }

    reserved成员对我们的程序没有什么意义,它只是起到填补空间以达到字节对齐的目的,当然即使不加这个成员通常编译器也会给我们自动填补对齐,我们自己加上它只是起到显式的提醒作用。

    字节对齐可能带来的隐患

      代码中关于对齐的隐患,很多是隐式的,比如在强制类型转换的时候,例如:

    unsigned int i = 0x12345678;
    unsigned char *p = NULL;
    unsigned short *p1 = NULL;
    
    p = &i;                            //这里可假设p指向了一个4的整数倍地址,例如0x04
    *p = 0x00;                         
    p1 = (unsigned short *)(p + 1);    //这里p1指向了p后移一位,也即为0x05
    *p1 = 0x0000;

    这样最后两句代码,从奇数边界去访问unsigned short型变量,显然不符合对齐的规定,在x86上,类似的操作只会影响效率,但是在MIPS或者sparc上,可能就是一个error,因为它们要求必须字节对齐。

    展开全文
  • int为什么占4个字节字节什么是8位?

    万次阅读 多人点赞 2019-11-04 16:17:06
    不知道大家有没有思考过这样的问题,字节什么是8位呀,也许还有小伙伴不知道我说的这些是什么,没关系往下看。 第个解释(历史)是IBM为System/360设计了一套8位EBCDIC编码,涵盖了数字、大小写字母和大部分...
  • 什么是字节字节的大小及转换关系 字节(Byte /bait/ n. [C])是计算机信息技术用于计量存储容量的种计量单位,通常情况下一字节等于八位,也表示一些计算机编程语言中的数据类型和语言字符。
  • 什么是Java字节码?

    千次阅读 2022-04-13 09:35:52
    什么是字节码? Java之所以可以“次编译,到处运行”,是因为JVM针对各种操作系统、平台都进行了定制,二 是因为无论在什么平台,都可以编译生成固定格式的字节码(.class文件)供JVM使用。因此,也可以看 出...
  • 【C语言基础】什么是字节

    千次阅读 2019-03-15 13:16:00
    【C语言基础】什么是字节字节就是存储数据的单位,并且是硬件所能访问的最小单位。 字节控制8位 int 类型为4个字节 long 类型为8个字节 char 类型为1个字节;Java中为两个字节 ...
  • 分钟看懂字节

    千次阅读 多人点赞 2020-12-01 20:40:14
    ​ 一切文件数据在存储时,都是以二进制数字的形式保存,都个的字节,那么传输时一样如此。所以,字节流可以传输任意文件数据。在操作流的时候,我们要时刻明确,无论使用什么样的流对象,底层传输的始终为二...
  • 两个字节代表可以储存的最大数为2^16=65536,两个字节若不考虑符号问题,那么可以储存0-65536个数。考虑符号问题,二进制第位为符号位,则储存的最大数为2^15=32768。0不属于正数也不属于负数,所以有符号的情况下...
  • 首先要知道什么是比特? 计算机存储是按照二进制0或者1来存储的;比特就是个信息量存储的单位 01是2个比特 010011是6个比特 10111101101是11个比特 字节等于8比特; 单字节:就是8比特;0100 0011 (0...
  • ego小:自以为是的意思,我认为就是个人思维不要太固执,要听的进别的人意见,要脑子足够开放。 always day1:始终创业之意,我认为一鸣哥想告诫他的同事们要坚持第天创业,不要有什么大公司毛病,因为创业公司...
  • 双字是占两个字节的,中文字符都占两个字节 计算机中的数据都是以0和1来表示的,其中个0或者个1称之为位,8位称为字节(Byte),两个字节称为个字(Word)(双字节),4个字节称为双字(Dword)(四字节)。...
  • 字节和兆字节的换算Megabyte is a multiple of the unit byte which is used in computing to describe digital data or information size or speed. Megabyte simply represented with the MB . Actually Megabyte ...
  • 这里科普一下java为什么会有字节码文件。 字节码产生的背景: Java最初诞生的目的就是为了在不依赖于特定的物理硬件和操作系统环境下运行,那么也就是说Java程序实现跨平台特性的基石其实就是字节码。Java之所以...
  • # include <stdio.h> int main(){ double *p;...//x占8个字节 1个字节是8位,1个字节一个地址 double arr[3]={1.1,2.2,3.3}; double *q; q=&arr[0]; printf("%p\n",q); q=&...
  • ③概念:计算机存储信息的最小单位,称之为字位(bit,又称比特b),二进制的每个0或1是组成二进制的最小单位,称为个比特(bit) 》 存储器中所包含存储单元的数量称为存储容量,其计量基本单位是字节(Byte。...
  • 计算机中,为什么一字节是8位?

    万次阅读 多人点赞 2018-04-16 13:42:45
    说这个问题的时候,首先提...ASCII编码作用:就是编码,那什么又是编码?我个人理解编码就跟江湖中的好汉劫富济贫时所用的暗语一样,栗子:风来了(只有好汉知道这个词的意思),就表示官兵来了。江湖上用“风来了”...
  • 0 字节文件

    千次阅读 2019-09-20 02:23:15
    1、概念:0 字节文件是指在电脑上个文件 包含真正 0 个字节的文件。一般文件都不大可能是 0 字节,因为,个文件都会拥有一些属性来描述这个文件:如文件名、文件访问的模式和一些扩展属性。所有的这些属性都是...
  • 说这个问题的时候,首先提一下ASCII编码作为切入比较容易理解一点;...我个人理解编码就跟江湖中的好汉劫富济贫时所用的暗语一样,栗子:风来了(只有好汉知道这个词的意思),就表示官兵来了。江湖上用“风来...
  • 什么读文件操作次读取字节数组最大值是8192 ? 最近做项目遇到将服务器上的文件下载到本地操作。其中用到了个方法Files.copy 调试过程中查看源码发现个很有意思的事 // buffer size used for reading and ...
  • Java字节简单介绍

    千次阅读 2020-05-12 16:49:05
    字节 位(bit):是计算机内部数据存储的最小单位,11001100是个八位二进制数。 字节(byte):是计算机中数据处理的基本单位,习惯上用大写B来表示...1Byte表示字节 1B=8b 1024B=1KB 1024KB=1M 1024M=1G ...
  • 谈到大厂,内推问题无疑是绕不开的个话题。...字节不像其他大厂直接给出“15薪”“16薪”的标准,而是有个“0-6个月年终奖”的区间,95%以上的员工绩效达标后能拿到3个月,所以也可以表述为15薪。 字
  • uchar(单片机中uchar是什么意思)

    万次阅读 2021-05-19 20:19:23
    char 是8位字符型数据类型 uchar并没有这样的关键字,只能是个解释,那就是编程这自定义了个宏定义,你应该能在程序的开头部分能找到类似#define uchar……….UCHARAn unsigned CHAR.//无符号字符型This type is...
  • 个class文件深入理解Java字节码结构

    万次阅读 多人点赞 2018-05-15 10:01:56
    我们都知道,Java程序最终是转换成class文件执行在虚拟机上的,那么class文件是个怎样的结构,虚拟机又是如何处理去执行class文件里面的内容呢,这篇文章带你深入理解Java字节码中的结构。 1.Demo源码 首先,...
  • 解答32位是什么意思

    万次阅读 2021-07-30 08:33:52
    我们在安装操作系统的时候,经常会被问到电脑是32位还是64位这个问题,可是我们连32位的意思都不懂,怎么能选择个合适的操作系统呢?对此,我给大家整理了32位的相关介绍,赶紧来瞧瞧吧现在家家户户都配置了电脑,...
  • 我是菜鸟,希望能详细些最佳答案个WORD分为2个BYTE.每个BYTE里有BIT0到BIT78个BOOL位。拿S7300/400PLC来讲。假设MW0是个字。那么MB0就是高字节,MB1是低字节MW0MB0MB1B7B6B5B4B3B2B1B0B7...
  • 字节的概述

    千次阅读 2020-07-10 09:45:34
    什么是字节?   字节是存储数据的基本单位,并且还是硬件所能访问的最小单位。众所周知,CPU是不能直接访问硬盘上的数据,而只能直接地处理内存中的数据。硬盘上的数据必须先调入内存条中才可以运行。内存中...
  • 高位字节,低位字节应该怎么理解

    千次阅读 2021-02-28 17:00:52
    一般个16位(双字节)的数据,比如 FF1A(16进制)那么高位字节就是FF,低位是1A如果是32位的数据,比如3F68415B高位字(不是字节)是3F68低位字是415B右边是低位位,左边是高位////////////////////////////////网摘...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 332,986
精华内容 133,194
关键字:

一字节是什么意思