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

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

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


前言


要想对程序的运行机制形成一个大致印象,就要了解信息(数据)在计算机内部是以怎样的形式来表现的,又是以怎样的方法进行运算的。在 C 和 Java 等高级语言编写的


程序中,数值、字符串和图像等信息在计算机内部都是以二进制数值的形式来表现的。也就是说,只要掌握了使用二进制数来表示信息的方法及其运算机制,也就自然能够了解程序的运行机制了。那么,为什么计算机处理的信息要用二进制数来表示呢?


一、用二进制数表示计算机信息的原因


计算机内部是由  IC(集成电路( Integrated Circuit) )这种电子部件构成的。 CPU( 微处理器) 和内存也是 IC 的一种。IC 有几种不同的形状,有的像一条黑色蜈蚣, 在其两侧有数个乃至数百个引脚; 有的则像插花用的针盘, 引脚在 IC 内部并排排列着。== IC 的所有引脚, 只有直流电压0V 或 5VB 两个状态==。 也就是说, IC 的一个引脚, 只能表示两个状态。IC 的这个特性, 决定了计算机的信息数据只能用二进制数来处理。


计算机处理信息的最小单位——位, 就相当于二进制中的一位。 位的英文 bit 是二进制数位( binary digit) 的缩写。


8 位二进制数被称为一个字节


位是最小单位,字节是==(信息的)基本单位==。


用字节单位处理数据时, 如果数字小于存储数据的字节数(二进制数的位数), 那么高位上就用 0 填补。 例如, 100111 这个 6 位二进制数, 用 8 位( =1 字节) 表示时为 00100111, 用 16 位( = 2 字节) 表示时为 0000000000100111。


二、什么是二进制数


二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”


二进制数的值转换成十进制数的值, 只需将二进制数的各数位的值和位权相乘,

然后将相乘的结果相加即可。例如00100111转为十进制数是39


微信图片_20220111210044.png


为什么这样计算呢?其实二进制和十进制的思想是一致的,比如十进制数39=(3 x 101) +(9 x 100),其中幂函数中10是基数, 这里和各个数位的数值相乘的 10 和


1, 就是位权。二进制和十进制计算方式就是基数不同而已。


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


移位运算指的是将二进制数值的各数位进行左右移位( shift = 移位) 的运算。 移位有左移( 向高位方向)和右移( 向低位方向) 两种。 在一次运算中, 可以进行多个数位的移位操作。


<< 这个运算符表示左移, 右移时使用 >> 运算符。 << 运算符和 >> 运算符的左侧是被移位的值, 右侧表示要移位的位数。


左移后空出来的低位要进行补0 操作


移位操作使最高位或最低位溢出的数字, 直接丢弃就可以了。例如十进制数 39 用 8 位的二进制表示是 00100111, 左移两位后是 10011100, 再转换成十进制数就是 156。  


微信图片_20220111210116.png


相关文章
|
1月前
|
存储 算法 数据处理
数据的表现形式及其运算
在数据科学和信息技术的世界里,数据的表现形式及其运算占据了至关重要的地位。数据的表现形式决定了我们如何存储、访问和处理数据,而数据的运算则决定了我们如何从这些数据中提取有价值的信息。本文将深入探讨数据的几种常见表现形式以及它们的基本运算,并通过代码示例进行说明。
25 0
|
2月前
|
存储 编译器 C语言
C语言:数据在内存中的存储形式
C语言:数据在内存中的存储形式
|
8月前
|
存储 编译器 C语言
你知道数据在内存中是如何存储的嘛?(二)
你知道数据在内存中是如何存储的嘛?(二)
122 0
|
6月前
|
存储 C语言 C++
C语言之数据的存储2(浮点数在内存中如何存储,如何输出,查看不同类型数据在内存中表示的范围的方法,十进制浮点数转化为二进制的方法)
C语言之数据的存储2(浮点数在内存中如何存储,如何输出,查看不同类型数据在内存中表示的范围的方法,十进制浮点数转化为二进制的方法)
|
1月前
|
存储 C语言 数据格式
用二进制方式向文件读写一组数据
用二进制方式向文件读写一组数据
13 1
|
3月前
|
存储
计算机中数据的存储及二,八,十六进制的介绍
本文将向大家介绍各种进制其中包括:二级制,八进制,十六进制;数据在内存中将如何存储。
56 0
|
5月前
|
存储 Java 程序员
计算机中数据的存储(基础篇)
计算机中数据的存储(基础篇)
763 0
|
6月前
|
存储 机器学习/深度学习 C++
C/C++数据在计算机内存中的存储形式详解
C/C++数据在计算机内存中的存储形式详解
|
8月前
|
存储 编译器 C语言
你知道数据在内存中是如何存储的嘛?(一)
你知道数据在内存中是如何存储的嘛?(一)
74 0
|
8月前
|
存储 Java
在计算机中存储整数
在计算机中存储整数
94 0