Gnnoy 2023-04-13 15:59 采纳率: 70%
浏览 16
已结题

matlab中的bitshift函数怎么改成python

matlab中的bitshift函数怎么改成python

function [Wi]= inv_quantization(Z,QP)

% q is qbits
q = 15 + floor(QP/6);

% The scaling factor matrix V depend on the QP and the position of the
% coefficient.
%   delta lambda miu
SM = [10 16 13
      11 18 14
      13 20 16
      14 23 18
      16 25 20
      18 29 23];
 
 x = rem(QP,6);
 
 % find delta, lambda and miu values
 d = SM(x+1,1);
 l = SM(x+1,2);
 m = SM(x+1,3);

 V = [d m d m
      m l m l
      d m d m
      m l m l];
  
 % find the inverse quantized coefficients
  Wi = Z.*V;
  Wi = bitshift(Wi,q-15,'int64');
 
end

这是个matlab写的函数,想把它改成python。最后一个wi = bitshift怎么改啊

  • 写回答

1条回答 默认 最新

  • 千夜为尘 2023-04-13 20:48
    关注

    在Python中,可以使用位运算符来模拟MATLAB中的bitshift函数。bitshift函数实际上是将二进制位向左或向右移动给定的位数,而Python中的位运算符可以实现相同的操作。

    具体而言,将一个整数向左移动n位,可以使用<<运算符,向右移动n位,可以使用>>运算符。下面是一个示例:

    # 将x向左移动n位
    result = x << n
    
    # 将x向右移动n位
    result = x >> n
    

    其中,x是要进行位移的整数,n是位移的位数,result是位移后的结果。

    例如,如果要将整数10向左移动2位,则可以使用以下代码:

    result = 10 << 2
    

    这将得到40,因为10的二进制表示是1010,向左移动2位得到101000,即40。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月20日
  • 已采纳回答 10月12日
  • 创建了问题 4月13日

悬赏问题

  • ¥15 CATIA有些零件打开直接单机确定终止
  • ¥15 请问有会的吗,用MATLAB做
  • ¥15 phython如何实现以下功能?查找同一用户名的消费金额合并—
  • ¥15 ARIMA模型时间序列预测用pathon解决
  • ¥15 孟德尔随机化怎样画共定位分析图
  • ¥18 模拟电路问题解答有偿速度
  • ¥15 CST仿真别人的模型结果仿真结果S参数完全不对
  • ¥15 误删注册表文件致win10无法开启
  • ¥15 请问在阿里云服务器中怎么利用数据库制作网站
  • ¥60 ESP32怎么烧录自启动程序,怎么查看客户esp32板子上程序及烧录地址