正则有符号数(CSD编码)编码原理

  众所周知知,一般的二进制编码只有0,1两种情况,但是正则有符号数编码也即CSD编码有三种情况,0,1和-1。对于一个二进制浮点数来说,CSD编码需要满足一个条件:两个相邻位只能有一个为一。废话少说,直接上干货。
  一个二进制数将其改写成CSD编码数之后是什么呢?CSD编码数的改写本着一个原则:从低位到高位,遇到连续的两个1也就是11,就将其改写成0(-1)。第一个1变0,第二个1变-1,不看-1的符号位的话,相比原来少了一个1,那么这个少了的1要进位到高位,也就是前一位,以此类推。
例如:
正则有符号数(CSD编码)编码原理_第1张图片
10(-1)0 000(-1)即为更改后的CSD编码。CSD编码个一降低二进制乘法运算中的部分积的个数,但CSD编码也有一些缺陷,如:表示CSD编码时需要两个二进制数,一个便是数值1010 0001,另一个表示符号0010 0001(其中的1代表负号)。

你可能感兴趣的:(编码原理)