Skip to content

Latest commit

 

History

History
75 lines (52 loc) · 3.34 KB

README.md

File metadata and controls

75 lines (52 loc) · 3.34 KB

信息的表示和处理

2.1 信息存储

大多数计算机使用 8 位的块,或者成为字节(byte),作为最小可寻址的内存单位,而不是访问内存中单独的位.计算机将内存视为一个非常大的字节数组,称之为虚拟地址空间(virtualmemory).内存中每一个字节都有一个唯一可访问的数字标识,称之为地址.实际上就是将动态随机访问存储器,(DRAM),闪存,磁盘存储器,特殊硬件和操作系统软件结合在一起,为程序提供一个看上去统一的字节数组.C 中的指针就是指向内存中某个存址,,虽然 C 维护这这类型信息,但是,他生成的机器级程序并不包含数据类型的信息,每个程序都可视为单个字节块,而程序就是一个字节序列.

给 C 初学者的提示, - C 语言中指针的作用

它提供了引用数据结构的元素的机制,,与变量类似,指针不是变量,指针有两个方面,值和类型,它的值表示某个对象的位置,它的类型表示那个位置上存储对象的类型,比如整数和浮点数, 真正想理解指针,需要在机器及上的表现和实现.

十六进制 - 即 Hex 码

10 进制和 2 进制交互困难, 事实上,一个字节由 8 位组成,,二进制中表示方法即是,0000000011111111,当然如果看成十进制 0 ~ 255,当然用 16 进制表示就简单了,00FF

序号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
二进制 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
十进制 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
十六进制 0 1 2 3 4 5 6 7 8 9 A B C D E F

在 C 中,0x 开头的就是 16 进制数.FA1D37B 也写成 0XFA1D37B,事实上,2 进制,16 进制互转很简单.

2.1.6 布尔代数简介

与逻辑 & -> a&b

& 0 1
0 0 0
1 0 1

串联电路图 image

或逻辑 | -> a|b

| | | 0 | 1 | | :-: | :-: | :-: | | 0 | 0 | 1 | | 1 | 1 | 1 |

并联电路图 image

非逻辑 !(!a) 或者是~(~a)

!/~ 0 1
1 0

image

异或门 ^

^ 0 1
0 0 1
1 1 0
// 这个利用 | & 逻辑结合实现
const xor = (a, b)=> (a|b) & (!(a&b))
// 简单来说 就是 利用
0,1   &   !(0,0)  =>    0,1
1,1   &   !(0,1)  =>    1,0

关于布尔代数和布尔环的更多运算

布尔运算完全适应算数交换定律a*(b+c) === a*b+a*c => a&(b|c) === a&b|a&c,此处通用于任何一个布尔运算符号.

2.2 整数单位

编码单位整数,有两种表示方式,整数和负数,