今天准备重新再研究一下繁体字排序的问题,发现涉及到的原码、反码、补码问题,以及Byte与Bit等小细节上,有点小小的阻碍,这里先把这些比较零散的,易混淆的几个概念理理清楚,作一下总结好了。
一、java中按位取反~运算符的计算方法:
数在计算机中是以二进制形式表示的。
数分为有符号数和无符号数。
原码、反码、补码都是有符号定点数的表示方法。
一个有符号定点数的最高位为符号位,0是正,1是副。
以下都以8位整数为例,
原码就是这个数本身的二进制形式。
例如
0000001 就是+1
1000001 就是-1
正数的反码和补码都是和原码相同。
负数的反码是将其原码除符号位之外的各位求反
[-3]反=[10000011]反=11111100
负数的补码是将其原码除符号位之外的各位求反之后在末位再加1。
[-3]补=[10000011]补=11111101
一个数和它的补码是可逆的。
为什么要设立补码呢?
第一是为了能让计算机执行减法:
[a-b]补=a补+(-b)补
第二个原因是为了统一正0和负0
正零:00000000
负零:10000000
这两个数其实都是0,但他们的原码却有不同的表示。
但是他们的补码是一样的,都是00000000
特别注意,如果+1之后有进位的,要一直往前进位,包括符号位!(这和反码是不同的!)
[10000000]补
=[10000000]反+1
=11111111+1
=(1)00000000
=00000000(最高位溢出了,符号位变成了0)
二、Bit与Byte的区别:
Bit意为“位”或“比特”,是计算机运算的基础,属于二进制的范筹;
Byte意为“字节”,是计算机文件大小的基本计算单位;
这两者应用的场合不同。通常用bit来作数据传输的单位,因为物理层,数据链路层的传输对于用户是透明的,而这种通信传输是基于二进制的传输。在应用层通常是用byte来作单位,表示文件的大小,在用户看来就是可见的数据大小。比如一个字符就是1byte,如果是汉字,则是2byte。
下面是2个具体应用实例:
Mbps=mega bits per second(兆位/秒)是速率单位,
MB=mega bytes(兆比、兆字节)是量单位,1MB/S(兆字节/秒)=8MBPS(兆位/秒)。
我们所说的硬盘容量是40GB、80GB、100GB,这里的B指是的Byte也就是“字节”。(与容量相关,应用层)
1 KB = 1024 bytes =2^10 bytes
1 MB = 1024 KB = 2^20 bytes
1 GB = 1024 MB = 2^30 bytes
USB2.0标准接口传输速率是480兆位/秒,即480MBps。这里的B指是的Bit也就是“位”。(与传输相关,底层)
注:另外,Byte通常简写为B(大写),而bit通常简写为b(小写)。可以这么记忆,用大写的就是数据值比较大的位,而小字的就是数据值比较小的字节,1B=8b。
分享到:
相关推荐
JAVA中易混淆的概念
在Java编程语言中,变量和数据类型是编程的基础,它们决定了程序如何存储...总的来说,理解Java中的变量、数据类型和数据运算,是成为一名合格的Java程序员的基础。熟练掌握这些知识,能更好地编写出高效、可靠的代码。
总结来说,"中易模板 4套"提供的资源是一系列的模板集合,涵盖了多种用途,旨在帮助用户在IT相关工作中提升效率和视觉效果。无论是网页设计、文档制作还是图形设计,这些模板都能成为强有力的工具,简化创作过程,...
中易招聘系统是一款开源免费asp人才网站系统,全站CSS+div布局,为用户的修改提供方便,网站内容的每一个角落都可以在后台予以管理,是一套非常适合用做系统建站或者进行二次开发的程序核心。中易招聘人才系统免费,...
### Java编程基础知识点详解 #### 一、Java技术概述 ...通过以上知识点的详细介绍,我们不仅了解了Java语言的基本概念和发展历程,还掌握了Java语言的关键特性和开发流程,为深入学习Java编程奠定了坚实的基础。
【中易3.31模版4套】是一款专为中易3.31系统设计的网站模板集合,包含了多种风格的设计方案,旨在提供给用户更丰富的网站展示样式选择。这款模板包主要针对的是中易内容管理系统(CMS)的3.31版本,通过更换模板,...
中易广告联盟系统7.0是一款专为网络广告行业设计的专业平台,旨在提供高效、智能的广告管理和数据分析服务。这款系统的更新迭代,无疑为广告主、媒体主以及广告运营商带来了更强大的功能和优化的用户体验。下面,...
中易激光排版雕刻系统V7.0是一款专业面向印章设计的软件,该软件以矢量图象的方式创建精密的印章,并能输出多种格式的印章图象,以满足多种行业多种场合的应用需求。该软件可配套光敏印章机、树脂腐蚀制章机或者其他...
中易广告联盟V9开源版支持linux宝塔面板 1.服务器环境需求php5.4+mysql 3.将application、library、www三个文件夹放在同一目录,网站根目录绑定到www 4.手动建立网站所使用的数据库一个 5.访问您的网站(http://www.*...
在Java代码运行过程中,内存泄漏是常见的性能瓶颈之一,因此理解和分析内存泄漏的原因和症状是进行性能分析的重要环节。Java内存泄漏的背景知识包括Java对象的大小计算、对象的引用、以及垃圾回收机制的工作原理。...
有一个庞大的库,库中包含很多可重用的代码和提供安全性、可移植性以及可自动垃圾回收等服务的执行环境。 JAVA特点: 简单性:摒弃了C++中易引发错误的特性,如指针和内存管理; 面向对象性:支持代码继承及...
“中易”这个名字可能指的是该程序的核心框架或系统,它可能是一个基于特定编程语言(如PHP、Java或.NET)构建的通用应用框架。源码的开放性意味着用户可以直接查看、修改和学习其内部工作原理,这对于学习软件开发...
总结来说,中易广告联盟系统V3.2是一个全面的广告管理工具,它通过智能化的手段提高了广告投放的效果和效率,对于想要在广告市场中取得成功的企业和个人来说,是一款不可多得的工具。随着技术的不断迭代,其后续版本...
中易广告联盟程序实现了这一功能,包括广告投放、效果追踪、收益统计等关键模块。 3. **对接支付宝**:程序能够与支付宝接口顺利对接,意味着用户可以方便地进行充值、提现等金融操作。支付宝作为中国主流的在线...
《中易交换链 3.2版》是一个专为网络数据交换设计的软件版本,它在互联网上经过广泛的搜寻后被发现,显示了其在业界的独特性和需求度。这个软件版本的出现,无疑为研究者和技术爱好者提供了一个深入探讨和学习的平台...
总结来说,"中易广告联盟用户中心"是一个免费提供的用户管理模板,对于需要搭建广告联盟平台的团队来说,它提供了一个基础框架,可以节省开发时间和成本。然而,实际应用前需要有一定的技术背景来适应和定制这个模板...
"中易V9 仿7540北辰8782模板.zip" 这个标题表明这是一个使用了中易V9系统,并且是模仿7540北辰8782设计风格的模板文件。中易V9可能是一款网站建站系统或内容管理系统(CMS),它提供了用户友好的界面和功能,使得非...