对 计算机整数 为什么存在 大小端 的理解

因为尝试对神经网络直接输入2进制数字序列,一下子想到这种以小端存储的方式,另外突然想到了大端存储会有一些问题,好吧,因为神经网络本质上是并行的,大端存储跟小端存储的差别并不存在,想多了,遂起探究一下为什么会有这种反直觉的小端存储方式。

为什么会有大小端

这样理解
你算加减乘(没有除,后面解释)的时候是从高位还是低位开始的?
为什么不从高位开始?因为存在着进位,如果从高位开始,算到后面发现有进位,就要回退到高位处理进位
如果从低位开始,可以一下子算出来

早期的计算机是纸带机,纸带上储存的是2进制数据
如果使用小端储存,做加减乘运算时,计算机的写出头可以一直往一个方向移动,而不用回退写出头处理进位问题。

下面图说
例如 3+3 ,转换为正常二进制,也就是大端储存,
就是 0011 + 0011
指针从左边开始

#  0011
# +0011
————————————————————————————————————————————————————————————————————————————
#  0       指针位置1
#  00      指针位置2
#  000     指针位置3,1+1=0,需要进位1,指针回退到2,处理进位,并且检测是否需要再次进位
#  010     指针位置3
#  0100    指针位置4,1+1=0,需要进位1,指针回退到3,处理进位,并且检测是否需要再次进位
#  0110    指针位置4

转换为小端运算,变成了

#  1100
# +1100
————————————————————————————————————————————————————————————————————————————
#  0       指针位置1,需要进位1,
#  01      指针位置2,1+1+1=1,需要进位1
#  011     指针位置3,0+0+1=1
#  0110    指针位置4

减法乘法也是如此,对于除法,嗯,我研究不深,就不bb了,就是这样 :)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值