计算机里比特位、字节位的左右顺序和我们现实生活中的数字写法的左右顺序的对比

此文仅适用我自己。

首先明确一个概念:bit是比特的意思;byte是字节的意思。bit没有比特位的意思,比特位的全称应该是bit position;而字节位则是byte position。

叫法:最高位比特、最高位字节。还有就是下标(index)位(position)两个概念(位的说法是高低,下标/下标值的说法是大小;位左边是最高,下标右边是最大)。

正文:

现实生活中我们写数字一般都是从最高位最低位;即210这个数字,2是最高位(百位),0是最低位(个位)。

对于数组或List而言,元素的写法则是 arr[0]写在最左边,arr[arr.Length-1]写在最右边,即下标最小的arr[0]写在最左边,下标最大的arr[arr.Length-1]写在最右边。

计算机里当下标和位这两个概念同时出现时,我个人经常会搞混;故在此自我定义一番:

当 数组/List 中存有相关联的 比特集/字节集 时(如arr[0]存的是long变量ll的某个字节值,arr[1]同样存的是该变量ll的另一个字节值):

我自己 arr[0] 存的是变量ll的第一个字节(最左边),arr[1]存的是变量ll的第二个字节,依次类推(这里要用第的概念,而不要用高低位的概念);这种存法虽然也存在不符合现实习惯的地方,即:

第一个字节是最低位字节,故我最左边本来该存最高位的,却存的是最低位,而右边是按数字的写法本该是最低位的却存的是最高位字节。(一定要谨记要用 第N个字节 的概念,而不要用高/低位字节的概念);这么存还有一个

容易让人误解的地方就是最左边是最低位字节,最右边是最高位字节,但是将这些字节单独提出来,我又应该将字节的8比特位由左到右看成为最高比特位到最低比特位。

Flag:写数组或List元素时,从左往右则是list[0]、list[1]、。。。。、list[list.Count-1](这个应该不容易搞混,毕竟初始化数组的语句是这样 var arr = new []{"m", "n", "q"};而arr[0]的值是"m")。

总结:其实我应该这么想:计算机存储实际上是“从左往右“分别是最低位比特、到最高位比特和“从左往右”是最低位字节到最高位字节。只是“我们人”将这些值表现在书面/可视处的时候习惯于从左往右分别的是最高位比特到最低位比特(字节亦如此)。

时间: 2024-10-12 12:05:09

计算机里比特位、字节位的左右顺序和我们现实生活中的数字写法的左右顺序的对比的相关文章

Qt 4.5发布(最大的变动是换用LGPL许可证,移植进了苹果的Cocoa框架。之前的Qt只支持Carbon框架,现在的Qt 4.5两者都支持。单一源代码创建出支持32位或64位字节的Intel或PowerPC Mac二进制文件)

Nokia的开源Qt开发工具正式发布了4.5版.如前所述,Qt 4.5最大的变动是换用LGPL许可证,目前采用的三个许可证分别为LGPL/GPL和商业许可证. 新版增强图形系统.数据处理和网络引擎性能,其它主要特性有:提升与WebKit渲染引擎的集成度,包括Netscape浏览器插件API支持,Qt应用程序可以载入Flash:更先进的Web 用户界面效果,包括动画.转换和缩放:新的JavaScript引擎可提供更强的性能. Qt4.5还被移植进了苹果的Cocoa框架.之前的Qt只支持Carbon

颜色模式中8位,16位,24位,32位色彩是什么意思?会有什么区别?计算机颜色格式( 8位 16位 24位 32位色)<转>

颜色模式中8位,16位,24位,32位色彩是什么意思?会有什么区别简单地说这里说的位数和windows系统显示器设置中的颜色位数是一样的.表示的是能够显示出来的颜色的多少. 8位的意思是说,能够显示出来的颜色的数量有8位数.16.24都是一样的.24位的颜色数量已经很多了,叫做“真彩色”,其实32位和24位颜色数量是一样多的.32位多出来的8位数是用来表示透明度信息的,所以更加真实. 如果一有一张真彩色的照片,放到一个只有8位的显示器上的话,显示出来的效果就会很差.所以当需要的时候你就需要在低位

16位/32位/64位CPU的位究竟是说啥

平时,我们谈论CPU,都会说某程序是32位编译,可以跑在32位机或64位机,或则是在下载某些开源包时,也分32位CPU版本或64CPU位版本,又或者在看计算机组成相关书籍时,特别时谈到X86 CPU时,一定会把8086/80286/80386拿出来说事儿,且一定会提到8086/80286是16位CPU,从386开始是32位CPU,那么这里的16/32/64位究竟说的是CPU的指标?其实这里的谈的就是CPU的字长. 一.计算机里的“字” 在计算机中,一串二进制数码作为一个整体来处理或运算的,称为一

dll文件32位64位检测工具以及Windows文件夹SysWow64的坑(很详细,还有自动动手编程探测dll)

阅读目录 dll文件不匹配导致数据库无法启动 究竟是System32还是SysWow64 区分dll文件32位64位的程序让我倍感迷惑 再次判断究竟是System32还是SysWow64——意想不到的坑 Program Files (x86)与Program Files 32位程序真的需要访问System32吗 32位程序与64位程序的区别总结 参考资料 自从操作系统升级到64位以后,就要不断的需要面对32位.64位的问题.相信有很多人并不是很清楚32位程序与64位程序的区别,以及Program

深度技术ghost win8 32位/64位装机旗舰版V2014

深度技术ghost win8 32位装机旗舰版V2014下载地址:http://pan.baidu.com/s/1kTLqJLt 深度技术ghost win8 64位装机旗舰版V2014下载地址:http://pan.baidu.com/s/1i3zakU5 本软件深度技术ghost win8 32位/64位装机旗舰版V2014由深度系统官网特别分享: 一.主要更新 * 更新PE系统采用2003内核,支持最新型号机器,解决一些笔记本认不到硬盘问题. * 驱动采用自由天空最新驱动包,个别电脑可能会

为QNetworkAccessManager添加超时提醒(自己记录一段时间里的下载字节数,用定时器去定期检测,从而判断是否超时)

在做更新,在测试异常的时候,在下载过程中,发现如果直接系统禁用了网络,会报错误,可以捕获.但是如果是第三方软件限制程序联网,问题来了. 程序会一直在那里等待,没有异常,也不发送QNetworkAccessManager::finsh和QNetworkReply::error和QNetworkReply::finsh信号. 所以动念头为下载加个超时,但是QNetworkAccessManager,QNetworkReply和QNetworkRequest都没有相关的设置函数.其实仔细想一下,也没有

阿里云主机Windows 2008 32位 64位自助正版激活图文教程

这篇文章主要介绍了阿里云主机Windows 2008 32位 64位自助正版激活图文教程,本文讲解详细,图文说明自助激活Windows正版教程,需要的朋友可以参考下 Windows2008 32位.64位 中文版操作系统,自助激活Windows正版,远程登录服务器后: 1.开始——运行 2.在运行里面输入cmd. 系统会跳出如下窗口: 3.输入slmgr   -skms   kms.aliyun-inc.com 4.输入slmgr -ato 5.完成

关于32位/64位版本头文件的重要

1.今天在测试产品发现一个十分异常的现象,代码从语法上分析完全正确,代码如下 2.在32位系统上编译可以通过,其中第15行出现警告:warning: initialization makes pointer from integer without a cast, 但执行时,正常结束 3.在64位linux系统编译可以通过,其中第15行出现警告:warning: initialization makes pointer from integer without a cast, 但在执行时出现 S

8位16位32位单片机区别

8位16位32位区别 8位单片机的数据总线宽度为8位,通常直接只能处理8位数据: 16位单片机的数据总线宽度为16位,通常可直接处理8位或16位数据. 8位数据类型所占大小 16位数据类型所占大小 stm32,k60数据类型