详解计算机内部存储数据的形式 二进制数(3)

简介: 详解计算机内部存储数据的形式 二进制数(3)

只有在右移时才必须区分逻辑位移和算术位移。 左移时, 无论是图形模式( 逻辑左移) 还是相乘运算( 算术左移), 都只需在空出来的低位补 0 即可。


符号扩充就是指在保持值不变的前提下将其转换成 16 位和 32 位的二进制数。


符号扩充的方法:不管是正数还是用补数表示的负数, 都只需用符号位的值( 0 或者 1) 填充高位即可。如01111111 这个正的 8 位二进制数转换成 16 位二进制数是 0000000001111111 ; 11111111这个用补数表示的负数转换成 16 位二进制数是1111111111111111


微信图片_20220111210359.png


在运算中, 与逻辑相对的术语是算术。 我们不妨这样考虑, 将二进制数表示的信息作为四则运算的数值来处理就是算术。 而像图形模式那样, 将数值处理为单纯的 0和 1 的罗列就是逻辑。


算术运算是指加减乘除四则运算。


逻辑运算是指对二进制数各数字位的 0 和 1分别进行处理的运算, 包括逻辑非( NOT 运算)、 逻辑与( AND 运算)、 逻辑或( OR 运算) 和逻辑异或( XOR 运算 A) 四种。


逻辑非指的是 0 变成 1、 1 变成 0 的取反操作。


逻辑与指的是“两个都是 1” 时, 运算结果为 1, 其他情况下运算结果都为 0 的运算


逻辑或指的是“至少有一方是 1” 时, 运算结果为 1, 其他情况下运算结果都是 0 的运算。


逻辑异或指的是排斥相同数值的运算。“两个数值不同”, 也就是说, 当“其中一方是 1, 另一方是 0” 时运算结果是 1, 其他情况下结果都是 0。


逻辑真值表如下:


微信图片_20220111210416.png


相关文章
|
7月前
|
存储 编译器 C语言
C语言:数据在内存中的存储形式
C语言:数据在内存中的存储形式
131 0
|
7月前
|
存储 缓存 固态存储
计算机的存储
计算机的存储
260 2
|
存储 小程序 编译器
数据的存储--大小端
数据的存储--大小端
461 0
|
程序员 知识图谱
电影《孤注一掷》感触、计算机底层二进制与十进制的转换
看完《孤注一掷》后,我内心激荡起一股深刻的情感。今天,我希望与大家分享这部电影的观后感,同时还想简要介绍一下电影中涉及的秘密线索666关于二进制和十进制转换的原理。另外,也推荐一本我认为写得较为出色的计算机书籍——《计算机底层的秘密》。这段经历充满启示,引导我们一同深入探索其中蕴含的智慧。
903 0
电影《孤注一掷》感触、计算机底层二进制与十进制的转换
|
5月前
|
存储
计算机中二进制与数字逻辑
【7月更文挑战第26天】
103 2
|
7月前
|
存储 数据格式 Python
使用二进制方式向文件读写一组数据
使用二进制方式向文件读写一组数据
69 0
|
7月前
|
存储 C语言 数据格式
用二进制方式向文件读写一组数据
用二进制方式向文件读写一组数据
70 1
|
7月前
|
存储
计算机中数据的存储及二,八,十六进制的介绍
本文将向大家介绍各种进制其中包括:二级制,八进制,十六进制;数据在内存中将如何存储。
226 0
|
存储 Java 程序员
计算机中数据的存储(基础篇)
计算机中数据的存储(基础篇)
1258 0
|
存储 机器学习/深度学习 C++
C/C++数据在计算机内存中的存储形式详解
C/C++数据在计算机内存中的存储形式详解