一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - Python 中 Elias Delta 編碼詳情

Python 中 Elias Delta 編碼詳情

2022-03-02 00:02海擁 Python

這篇文章主要介紹了Python 中 Elias Delta 編碼,下面的文章我們將使用 python 實現 Elias Delta 編碼。具體詳細內容,需要的朋友可以參考一下

語法:

?
1
Elias Delta Encoding(X)= Elias Gamma encoding (1+floor(log2(X)) + Binary representation of X without MSB.

1、分步實施

首先,在為 Elias Delta 編碼編寫代碼之前,我們將實現 Elias delta 編碼。

第1步:

  • 從數學庫導入 logfloor 函數以執行對數運算。
  • 從用戶獲取輸入 k 以在 Elias Gamma 中進行編碼。
  • 使用數學模塊中的 floor log 函數,找到 1+floor(log2(X) 并將其存儲在變量 N 中。
  • 使用 (N-1)*'0'+'1' 找到 N 的一元編碼,它為我們提供了一個二進制字符串,其中最低有效位為 '1',其余最高有效位為 N-1 個'0'。

示例: 某些值的 Elias Gamma 編碼

?
1
2
3
4
5
6
def EliasGammaEncode(k):
 if (k == 0):
  return '0'
 N = 1 + floor(log(k, 2))
 Unary = (N-1)*'0'+'1'
 return Unary + Binary_Representation_Without_MSB(k)

第2步:

  • 創建一個函數,該函數接受輸入 X 并給出結果作為 X 的二進制表示,沒有 MSB
  • 使用“{0:b}”.format(k) 找到 k 的二進制等效項并將其存儲在名為 binary 的變量中。
  1. 前綴零僅指定應使用 format() 的哪個參數來填充 {}。
  2. b 指定參數應轉換為二進制形式。
  • 返回字符串 binary[1:] ,它是 X 的二進制表示,沒有 MSB

示例: 不帶 MSB 的二進制表示

?
1
2
3
4
def Binary_Representation_Without_MSB(x):
 binary = "{0:b}".format(int(x))
 binary_without_MSB = binary[1:]
 return binary_without_MSB

現在我們要為 Elias Delta Encoding 編寫代碼

第3步:

  • 從用戶獲取輸入 k 以在 Elias Delta 中進行編碼。
  • 使用數學模塊中的 floor log 函數,找到 1+floor(log2(k)
  • 1+floor(log2(k) 的結果傳遞給 Elias Gamma 編碼函數。

示例:某些值的 Elias Delta 編碼

?
1
2
3
4
5
6
7
8
def EliasDeltaEncode(x):
 Gamma = EliasGammaEncode(1 + floor(log(k, 2)))
 binary_without_MSB = Binary_Representation_Without_MSB(k)
 return Gamma+binary_without_MSB
 
 
k = int(input('Enter a number to encode in Elias Delta: '))
print(EliasDeltaEncode(k))

第4步:

  • 得到不帶 MSB 的 k 的 Elias Gamma 編碼和二進制表示的結果
  • 連接兩個結果并在控制臺上打印它們

為某些整數值生成 Elias Delta 編碼的完整代碼

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
from math import log
from math import floor
 
def Binary_Representation_Without_MSB(x):
 binary = "{0:b}".format(int(x))
 binary_without_MSB = binary[1:]
 return binary_without_MSB
 
def EliasGammaEncode(k):
 if (k == 0):
  return '0'
 N = 1 + floor(log(k, 2))
 Unary = (N-1)*'0'+'1'
 return Unary + Binary_Representation_Without_MSB(k)
 
def EliasDeltaEncode(x):
 Gamma = EliasGammaEncode(1 + floor(log(k, 2)))
 binary_without_MSB = Binary_Representation_Without_MSB(k)
 return Gamma+binary_without_MSB
 
k = 14
print(EliasDeltaEncode(k))

輸出:

00100110

到此這篇關于Python 中 Elias Delta 編碼詳情的文章就介紹到這了,更多相關Python 中 Elias Delta 編碼內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://juejin.cn/post/7029486355738525733

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 操好爽 | 丁香六月色婷婷综合网 | 国产rpg迷雾之风冷狐破解 | 久久久精品免费免费直播 | 77成人影视| 国色天香社区视频在线观看免费完整版 | 四虎国产成人免费观看 | 二次元美女扒开内裤露尿口 | 亚洲国产AV一区二区三区四区 | 美女脱一净二净不带胸罩 | 高清在线观看mv的网址免费 | 亚洲国产中文字幕在线视频综合 | 人人做人人爽人人爱 | 秋霞717理论片在线观看 | 精品91自产拍在线 | 99久久综合 | 国产成人亚洲精品91专区手机 | 99在线观看视频免费 | 婷婷福利| 桥本有菜作品在线 | 男人天堂色男人 | 天美传媒影视在线免费观看 | 日韩理论片在线看免费观看 | 国产二区三区 | 天堂va在线高清一区 | 免费看日韩 | 国产精品久久久免费视频 | 丝瓜黄瓜茄子西红柿秋葵榴莲 | 日韩精品福利视频一区二区三区 | 欧美影院一区二区 | 国产清纯白嫩大学生正在播放 | 欧美日本一道高清二区三区 | www.91麻豆 | 无码区国产区在线播放 | 911福利视频 | 手机在线观看网站免费视频 | 国产日产在线观看 | 人与动videos | 99re5在线精品视频热线 | 邪恶肉肉全彩色无遮盖 | 999热这里只有精品 999久久久免费精品国产牛牛 |