《程序是怎样跑起来的》第二章
开头有几个问题有些难倒我了,以前没见过后来看了答案有些迷糊,下面有详细的解释让我恍然大悟。第二章讲的是数据是用二进制表示的,对于二进制我并不陌生,8位二进制数是一个字节,字节是最基本的信息计量单位,位是最小单位,字节是基本单位,不够8位用0填充。这章主要讲了二进制数,移位运算,逻辑运算。
移位运算是指将二进制数值的各数位进行左右移位的运算,移位有左移(向高位方向)和右移(向低位方向)两种。在一次运算中,可以进行多个数位的移位操作。<<(左移运算符)>>(右移运算符)。符号左侧是被移位的值,右侧是移的位数。比如39用二进制数表示是00100111,左移之后变为10011100是156。符号位是0时表示正数,是1时表示负数。补数就是用正数表示负数。
如何获取补数就是将二进制数全部取反加1,-1的表示方式就是先将1的8位二进数取反加1,即0000001取反后为11111110,加1为11111111。所以-1表示为11111111。计算机的运算包括算术运算和逻辑运算。算术运算就是加减乘除四则运算。逻辑运算有非,与,或,异或(XOR运算)。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)