二进制基础

二进制

二进制转换

1.计算机为什么使用二进制?
因为计算机最核心的计算原件是CPU,CPU外边有引脚,引脚是通电用的,通电时有时候通的是高电频有时候通的是低电频,用 “1” 来表示高电频,"0"表示低电频,所以用二进制来表示,所谓二进制就是逢2进1。
2.十进制和二进制表数的共通点:基数。
说明:任何进制都是有基数(Radix)的,十进制的基数是10,二进制的基数是2。
3.二进制和十进制的转换
转十进制算法:数字x基数^位次幂+
例如:二进制数0101用十进制表示的数就是:1x2^0 + 0x2 ^1 + 1x2 ^2 + 0x2 ^3 = 5
八进制数047用十进制表示就是:7x8^0+4x8 ^1+0x8 ^2 = 39
十六进制数AF用十进制表示就是:F(就是15)x16^0+A(就是10)x16 ^1=175
十进制转二进制算法:除2取余(从下往上取)
例如:十进制数114转为二进制就是:01110010
说明:一直除2直到余数为1,然后从1开始从下往上取即可。
简便算法:114在64(2^6)和128(2 ^7)之间,于是可以进行如下操作:
64(2 ^6)+32(2 ^5)+16(2 ^4)+2(2 ^1),其中2 ^ x 位次幂,位次幂有值说明其对应的位就是1,所以通过式子可以看出在0, 2, 3位上没有值,就是0。而计算机中8位算一个字节,因为其第8位没有值,故将0补上,然后按从左往右顺序排出来就是:01110010。
总结:十进制转二进制就是将十进制数转为2 ^n次幂的和,然后看对应的哪个位置应该有1,然后将结果整合就可以了。

二进制中相关概念:原码、反码、补码

原码:计算机表示正数的时候用的就是原码,如:十进制数转二进制数。
反码:将原码取反。
补码:计算机表示负数的时候用的就是补码,先将原码取反,然后加1。8位的表示范围 是-128~-127。
例1:-17转二进制
分析:先将17用原码表示为:00010001,转负数的过程:先将其最高位符号位设为1然后将剩下的位取反,结果为:11101110,最后加1为:11101111,这个数表示的就是-17。
严格来讲,在计算机中,正数的补码就是它自己,补码主要针对负数,计算机表示数的时候(假设是8位),如果说明了这个数是一个带符号的数,且最高位是1,代表就是负数(如果不是带符号的数,表示正数);最高位是0,代表的是正数。
例2:二进制负数11000100表示的十进制数是多少?
分析:二进制转十进制过程:符号位不变,其余位取反,然后再将取反的结果+1,得到原码。再确定该负数表示的是十进制数是多少,过程为:将符号位1去掉,因为它就相当于是个 “-” 号,然后其余位取反+1,得到该负数对应的原码(原理:原码取反+1变补码,补码取反+1变原码):0111100,该原码表示的十进制数是60,加上前面的符号位就是-60。

为什么负数用补码来表示?

有两个好处:
1)0的表述可以实现统一。如果+0和-0都用原码来表示,+0就是00000000,-0就是10000000(C语言规定,把内存的最高位作为符号位,且用0表示正数,用1表示负数),此时表述不统一了,如果是补码来表示,就是将原码(+0)取反+1,此时结果为:100000000,而计算机在进行加法运算时,如果是8位的话,多出来的一位就溢出了,此时+0和-0的表述是一样的。
2)减法可以当做加法来运算。因为在计算机的CPU内部是没有减法器的,逻辑电路上只能实现加法运算。例如:5-3用加法来表示就是5+(-3),将5和-3用二进制表示(-3用补码来表示,如果用原码来表示的话,结果肯定不正确,跟-0用原码表示的原理一样)为:00000101、11111101,然后两个数相加得到的结果为:00000010,表示的就是2。

二进制、八进制、十进制、十六进制的互相转换

八进制十六进制:先将八进制转为十进制,然后将十进制转为二进制。最简单是将二进制转为十六进制。
二进制转十六进制:将二进制数以4位为一个单位(十六进制数一个数就可以代表二进制的4位)划分,然后对每个单位再转为十六进制。
十进制转二进制:除2求余。
十进制转八进制:除8求余。

二进制逻辑(位)运算-重点

七种位运算介绍

&:与运算,遇0则0。如:1 & 1=1,1 & 0=0。只要有0结果就是0。
|:或运算,遇1则1。如:1 | 1=1,1 | 0=1。只要有1结果就是1。
~:取反,1-0 0-1
^:异或运算,口诀:不进位加(相同为0,相异为1)。如:1 ^ 0=1,1 ^ 1=0。
" >> ":右移,补符号位,符号位为0就补0,为1补1。
" << ":左移,永远补0。
" >>> ":无符号右移。不管符号位是0还是1,都是补0。

移位运算和乘除运算的关系

对于正整数来说,右移一位相当于" /2 “,左移相当于” x2 "。计算机对于位运算来说,移位运算效率是非常高的。
例如:a=3,b=4,现将两个进行数交换。
使用位运算进行交换:a=a ^ b;b=a ^ b;a=a ^ b;
整个过程如下图所示:
在这里插入图片描述

长整数和短整数的转换

首先,不管是什么类型,短整数转长整数补符号位就可以了,值是不会发生变化的,例如:八位的二进制正数01101101,变成十六位的二进制数为:00000000 01101101;八位的二进制负数11000110,变成十六位的二进制数为:11111111 11000110。但是,长整数转短整数时,计算机是将前面的数直接砍掉,这时会发生精度丢失。

常用的位数

bit:一位
Byte:8位,就是一个字节,计算机内部输入数的时候,最少是8位,Byte是计算机做实际运算的时候的最小单位。
KB:1000个字节,这里的 " k "是大写的,小写的 " k ",表示的是位。
MB:1024个KB。
GB:1024个MB。
TB:1024个GB。
1024倍增

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/39603.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

生命,到底是什么?

来源&#xff1a;腾讯研究院 作者&#xff1a;Mark A. Bedua 译者&#xff1a;宋词、范星辰 令人着迷的生命 地球表面布满了生命&#xff0c;而且通常很容易辨认。猫、胡萝卜、细菌都是活的&#xff0c;桥、肥皂泡、沙粒都是死的。但众所周知&#xff0c;生物学家们却没有关于生…

华为云首席产品官方国伟:没有人拥有看到未来的水晶球,云上突围之路如何走?

【摘要】 当下云发展有待突破的并不是技术问题&#xff1b;云厂商如何真正帮到企业上云&#xff1b;以不变应万变&#xff0c;什么是云产品规划的三个关键出发点&#xff1b;生态对于云的意义是什么&#xff1b;一起来听技术大咖聊聊云的故事。 本文分享自华为云社区《华为云首…

碳云智能想做的,是规划生命路线

雷锋网按&#xff1a;一家公司在做什么&#xff0c;其创始人说的最靠谱。除了题目&#xff0c;本文内容都由雷锋网(公众号&#xff1a;雷锋网)小编编辑自碳云智能CEO王俊在1月5日发布会上的演讲。在不改变原意的基础上&#xff0c;雷锋网做了比较多的删减和编辑。看完后应该可以…

计算机在生物学研究领域的认识,数字生命

数字生命是用计算机媒介来创造的新的生命形式&#xff0c;是具有自然生命特征或行为的人工系统。数字生命研究是指那些以计算机为媒介&#xff0c;以计算机程序为生命个体的人工生命研究。 中文学名 数字生命 遵循规律 遗传、进化兴起时间 20世纪80年代 适用范围 人类生殖、遗传…

碳基计算机电路,革命性的计算机技术:金属碳电路元件可在更快,更高效的碳基晶体管上工作...

宽带金属石墨烯纳米带(GNR)的扫描隧道显微镜图像。每个突起簇对应于一个单独占据的电子轨道。在每个簇附近形成五边形环会导致金属GNR的电导率增加十倍以上。GNR主干的宽度为1.6纳米。图片来源&#xff1a;UC Berkeley图片由Daniel Rizzo提供 碳金属线是用于碳基计算机的完整工…

碳基计算机电路,碳基电子学研究中心张志勇-彭练矛课题组在碳基逻辑集成电路领域取得重要进展...

作为数字集成电路的主流逻辑形式&#xff0c;互补金属氧化物半导体(CMOS)逻辑架构为硅集成电路技术的发展和繁荣做出了重要贡献。CMOS逻辑门包含一个由空穴型场效应晶体管(p-FET)组成的上拉网络和一个由电子型晶体管(n-FET)组成的互补下拉网络。与其他类型的逻辑类型相比&#…

华为鸿蒙碳基芯片,华为全球扫货应对危机,与北大联合研制碳基芯片,能否不用光刻机...

为了更好地应对这次危机&#xff0c;华为目前开启了全球扫货模式。据悉&#xff0c;华为及其供应商正在夜以继日地加紧备货&#xff0c;争取在9月15日之前&#xff0c;备足够多的关键芯片的元器件。 华为 这一次&#xff0c;备的货不仅仅是用于智能手机。而是华为全系列产品&am…

论文降重攻略

各个高校的学子们离毕业答辩的日子越来越近了&#xff0c;这段时间大家的心里肯定是很紧张的。没有通过论文检测的同学们应该抓紧时间了。有句话是这样说的&#xff1a;论文降重减少抄袭&#xff08;重复&#xff09;率比喻为一次战役&#xff0c;知己知彼方能百战百胜&#xf…

有哪些论文降重的方法?

降重可谓是论文完成后最重要的一个环节了&#xff0c;没有之一&#xff01;它直接关乎到你的论文能否顺利参与答辩&#xff0c;而降重相对来说又比较难&#xff0c;因为你只能在原文的基础上修修改改&#xff0c;还必须得达到降重要求&#xff0c;这让不少同学都犯了难。不过&a…

史上最快降重技巧

史上最快降重技巧 本人帮朋友降重结果呈现&#xff0c;实力&#xff0c;不夸张&#xff1a; 降重前&#xff1a; 半小时降重后&#xff1a; 效果显然&#xff0c;不过麻烦&#xff0c;你也可以把麻烦交给我&#xff0c;我来承担&#x1f415; &#x1f642; 全天在线等召唤&a…

电脑软件:推荐两款好用的文件重复检测软件

❤️作者主页&#xff1a;IT技术分享社区 ❤️作者简介&#xff1a;大家好,我是IT技术分享社区的博主&#xff0c;从事C#、Java开发九年&#xff0c;对数据库、C#、Java、前端、运维、电脑技巧等经验丰富。 ❤️个人荣誉&#xff1a; 数据库领域优质创作者&#x1f3c6;&#x…

《PAT 备考通》题目集 4.1 简单题 - E 平均成绩

给定一所学校学生的 C 语言成绩&#xff0c;请你统计全班的平均成绩和男生、女生的平均成绩。 输入格式&#xff1a; 输入首先在第一行中给出一个正整数 N&#xff08;≤10000&#xff09;&#xff0c;即全校学生人数。最后 N 行&#xff0c;每行按照格式 性别 成绩 给出一位…

老胡的周刊(第092期)

老胡的信息周刊[1]&#xff0c;记录这周我看到的有价值的信息&#xff0c;主要针对计算机领域&#xff0c;内容主题极大程度被我个人喜好主导。这个项目核心目的在于记录让自己有印象的信息做一个留存以及共享。 &#x1f3af; 项目 chathub[2] ChatHub 是款全能聊天机器人客户…

Bito - 超越Copilot的一款神级插件

文章目录 01 引言02 Bito的安装与使用2.1 安装Bito2.2 注册并创建工作空间2.3 使用方式 03 其它3.1 插件支持的平台3.2 文档 04 文末 01 引言 Bito IDEA插件地址&#xff1a;https://plugins.jetbrains.com/plugin/18289-bito–gpt-4–chatgpt-to-write-code-explain-code-crea…

CURSOR安装和使用

CURSOR安装和使用 下载地址在文章结尾 没用过的可以先看下用法 界面布局 整个软件的布局结构和vscode很相似 但是他不具备 软件的运行环境 如c,java 只能作为一个文本编辑器来使用 ctrlk用法 使用的话ctrlk 生成代码 测试 ctrlL用法 总结 软件官网:Cursor | Build Fast 也…

关于Jupyter Notebook内核一直被占用、灰色圆圈、出现error、创建新python3失败、运行没结果-----解决方法

问题&#xff1a;最近学习深度学习&#xff0c;很天真的&#xff0c;下载了很多库&#xff0c;一运行后内核一直被占用 后来查了很多资料&#xff0c;用了很多方法&#xff0c;结合了chatgpt和一些博主的经验&#xff0c;终于解决了这个问题 解决方法&#xff1a; 1、打开An…

chatgpt赋能python:Python编程语言的强大功能——小游戏

Python编程语言的强大功能——小游戏 Python作为一种高级编程语言&#xff0c;以其易用和强大的功能而著称。虽然Python可以用于许多领域&#xff0c;但游戏方面也不例外。在这篇文章中&#xff0c;我们将介绍使用Python编写小游戏的方法&#xff0c;并探讨如何利用Python实现…

chatgpt赋能python:用Python轻松打造小游戏

用Python轻松打造小游戏 随着Python在业界的普及程度越来越高&#xff0c;越来越多的人开始使用Python开发不同种类的应用。除了常见的Web应用、机器学习和数据分析等&#xff0c;Python还可以用于开发小游戏。 开发小游戏能够很好地展现Python的灵活性和兼容性。而且&#x…

chatgpt赋能python:Python能做什么小游戏?

Python能做什么小游戏&#xff1f; Python是一种高级编程语言&#xff0c;在不同领域有广泛应用。其中之一便是游戏开发。Python已经成为流行的游戏开发语言之一&#xff0c;由于其易用性和简单性&#xff0c;它已经成为初学者们最受欢迎的编程语言之一。 常见的Python小游戏…

chatgpt赋能python:如何用Python做扫雷

如何用Python做扫雷 扫雷是一款我们熟知的游戏&#xff0c;在游戏过程中需要揭开地图上的方块&#xff0c;避免踩到地雷。这个游戏虽然很简单&#xff0c;但是隐藏着很多计算问题&#xff0c;如何让计算机模拟出扫雷呢&#xff1f;我们可以使用Python编写程序来实现这一目标。…