当前位置:   article > 正文

位扩展和位截断

位扩展运算于位截断运算

         一个小规律, 2^n-2^(n-1) = 2^(n-1)  3^n-3^(n-1)=2*3^(n-1) 。

         位扩展其实很好理解,正数和0往前加零就够了,负数则是往前加一,不过注意位扩展往往都是隐形的,不知不觉就扩展了,比如 short i = 6; int j = i;  注意 位扩展 数值是不变的

         位截断,就是保留低k位二进制码, 比如把一个四位二进制码截断成三位,这不可避免的改变了原来的值,

         对于无符号数,B2U([X',X'',X''',X''''......]) MOD 2^k 就可以了。
         对于有符号数,U2T(B2U([x',x'',x''',x''''.....])mod 2^k)      

         注: B2U  二进制码解释为无符号数   U2T  无符号数编码解释为补码

转载于:https://www.cnblogs.com/liboyan/p/4753160.html

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/272391
推荐阅读
相关标签
  

闽ICP备14008679号