編碼源碼
① 寫出十進制-15的二進制編碼的源碼,反碼,補碼
以8位機器碼為例:
[-15]原=10001111
[-15]反=11110000
[-15]補=11110001
② 源碼、代碼、編碼的區別
代碼是由英文+數字+特殊符號組成的!源碼是由代碼組成的!編碼就是用代碼來編寫源碼的過程!其實從字面意思應該可以大概的了解的!源碼代表汽車,代碼代表零件,編碼代表生產汽車!這樣就能理解了!
③ 8位普通編碼器源代碼
哇,這么牛,看不太懂
④ 哈夫曼編碼的C語言源代碼
/*文件名:exp7-6.cpp*/
#include <stdio.h>
#include <string.h>
#define N 50 /*葉子結點數*/
#define M 2*N-1 /*樹中結點總數*/
typedef struct
{
char data[5]; /*結點值*/
int weight; /*權重*/
int parent; /*雙親結點*/
int lchild; /*左孩子結點*/
int rchild; /*右孩子結點*/
} HTNode;
typedef struct
{
char cd[N]; /*存放哈夫曼碼*/
int start;
} HCode;
void CreateHT(HTNode ht[],int n)
{
int i,k,lnode,rnode;
int min1,min2;
for (i=0;i<2*n-1;i++) /*所有結點的相關域置初值-1*/
ht[i].parent=ht[i].lchild=ht[i].rchild=-1;
for (i=n;i<2*n-1;i++) /*構造哈夫曼樹*/
{
min1=min2=32767; /*lnode和rnode為最小權重的兩個結點位置*/
lnode=rnode=-1;
for (k=0;k<=i-1;k++)
if (ht[k].parent==-1) /*只在尚未構造二叉樹的結點中查找*/
{
if (ht[k].weight<min1)
{
min2=min1;rnode=lnode;
min1=ht[k].weight;lnode=k;
}
else if (ht[k].weight<min2)
{
min2=ht[k].weight;rnode=k;
}
}
ht[lnode].parent=i;ht[rnode].parent=i;
ht[i].weight=ht[lnode].weight+ht[rnode].weight;
ht[i].lchild=lnode;ht[i].rchild=rnode;
}
}
void CreateHCode(HTNode ht[],HCode hcd[],int n)
{
int i,f,c;
HCode hc;
for (i=0;i<n;i++) /*根據哈夫曼樹求哈夫曼編碼*/
{
hc.start=n;c=i;
f=ht[i].parent;
while (f!=-1) /*循序直到樹根結點*/
{
if (ht[f].lchild==c) /*處理左孩子結點*/
hc.cd[hc.start--]='0';
else /*處理右孩子結點*/
hc.cd[hc.start--]='1';
c=f;f=ht[f].parent;
}
hc.start++; /*start指向哈夫曼編碼最開始字元*/
hcd[i]=hc;
}
}
void DispHCode(HTNode ht[],HCode hcd[],int n)
{
int i,k;
int sum=0,m=0,j;
printf(" 輸出哈夫曼編碼:\n"); /*輸出哈夫曼編碼*/
for (i=0;i<n;i++)
{
j=0;
printf(" %s:\t",ht[i].data);
for (k=hcd[i].start;k<=n;k++)
{
printf("%c",hcd[i].cd[k]);
j++;
}
m+=ht[i].weight;
sum+=ht[i].weight*j;
printf("\n");
}
printf("\n 平均長度=%g\n",1.0*sum/m);
}
void main()
{
int n=15,i;
char *str[]={"The","of","a","to","and","in","that","he","is","at","on","for","His","are","be"};
int fnum[]={1192,677,541,518,462,450,242,195,190,181,174,157,138,124,123};
HTNode ht[M];
HCode hcd[N];
for (i=0;i<n;i++)
{
strcpy(ht[i].data,str[i]);
ht[i].weight=fnum[i];
}
printf("\n");
CreateHT(ht,n);
CreateHCode(ht,hcd,n);
DispHCode(ht,hcd,n);
printf("\n");
}
以前寫的,你照著改下就行的.
⑤ 求evrc和qcelp語音編碼的C++源代碼
去www.3gpp2.org網站, 可以下載到EVRC的ANSI-C源碼。不過,不管是在linux下還是在windows下,實現測試碼流的bit-exact基準都有難度。
http://www.3gpp2.org/Public_html/specs/speclist.cfm
⑥ 代碼和源代碼有什麼區別
源程序是指未編譯的文本代碼。
驗證碼主要是為防止暴利破解,所以需要防止圖片識別,所以驗證碼為一般書寫不正規,且有復雜的隨機的雜點和雜線。
源代碼,是指一切人類可讀的計算機語言指令。
在現代程序語言中,源代碼可以是以書籍或者磁帶的形式出現,但最為常用格式文本文件,這種典型的格式目的是為了編譯出計算機程序。
⑦ 如何鑒別源代碼里漢字的編碼
最常見是GB2312-1980,即國標碼,和BIG5,即大五碼。
漢字用兩位元組編碼,最高位不為0。
國標碼的值大於0xA0A0.
想知道漢字的代碼,寫簡單的程序,打開漢字碼文件,
一個byte一個byte讀入,兩個兩個用十六進制%x或十進制輸出。
gb1 = fgetc(fin);gb2 = fgetc(fin);
fprintf(stdout,"%02x%02x ",gb1,gb2); -- 十六進制,
十進制: gb1左移8位加gb2 用%d 輸出。
⑧ 源代碼文件有編碼格式,還有#coding的編碼聲明,還有默認的ASCII,python對這些編碼是怎樣一個處理過程
簡述:
coding聲明,實際上沒有其他對應的效果
python文件的實際編碼,決定了你代碼中寫的中文的所採用的編碼(是gbk還是utf-8還是其他)
將utf-8的中文直接輸出到gbk的cmd的中,則必然會報錯
詳解:
之前就寫過類似教程了,尤其適合你這樣的人去看。
此處不給貼地址,自己google搜標題即可找到:
Python專題教程:字元串和字元編碼
中的:
【整理】Python中用encoding聲明的文件編碼和文件的實際編碼之間的關系
以及:
【總結】Python2.x中常見字元編碼和解碼方面的錯誤及其解決辦法
看後,就明白了基本的錯誤的原因和解決辦法了。
當前,如果本身對於python字元的概念不熟悉,則可以去看:
【整理】Python中字元編碼的總結和對比:Python2.x的str和unicodevsPython3.x的bytes和str
其實,其他還有很多相關的教程呢。
不貼了,否則又有人會說我瞎推薦了。
剩下就等你們自己發現我寫的帖子,是不是值得你們看吧。
如果值得看,也還是讓你們自己去找吧。
⑨ 源碼和代碼是一個意思嗎
源代碼(也稱源程序)是指未編譯的按照一定的程序設計語言規范書寫的文本文件,是一系列人類可讀的計算機語言指令。
在現代程序語言中,源代碼可以是以書籍或者磁帶的形式出現,但最為常用的格式是文本文件,這種典型格式的目的是為了編譯出計算機程序。計算機源代碼的最終目的是將人類可讀的文本翻譯成為計算機可以執行的二進制指令,這種過程叫做編譯,通過編譯器完成。
分類:如果按照源代碼類型區分軟體,通常被分為兩類:自由軟體和非自由軟體。自由軟體一般是不僅可以免費得到,而且公開源代碼;相對應地,非自由軟體則是不公開源代碼。所有一切通過非正常手段獲得非自由軟體源代碼的行為都將被視為非法。
作用。源代碼主要有如下兩種作用:
1.生成目標代碼,即計算機可以識別的代碼。
2.對軟體進行說明,即對軟體的編寫進行說明。為數不少的初學者,甚至少數有經驗的程序員都忽視軟體說明的編寫,因為這部分不會在生成的程序中直接顯示,也不參與編譯。但是注釋代碼對軟體的學習、分享、維護和軟體復用都有巨大的好處。
⑩ java 源代碼的編碼問題
//我寫了一個程序,你把文字復制到文本框中點轉碼按鈕,就可以了
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextArea;
public class Class1 extends JFrame {
private final class AT implements ActionListener {
public void actionPerformed(ActionEvent e) {
jta.setText(fixString(jta.getText()));
}
}
public static void main(String[] args) {
JFrame jf = new Class1();
}
JTextArea jta = new JTextArea();
public Class1() {
setSize(400, 400);
setDefaultCloseOperation(EXIT_ON_CLOSE);
JButton jb = new JButton("轉碼");
jb.addActionListener(new AT());
add(jta);
add("North", jb);
setVisible(true);
}
String fixString(String s) {
while (true) {
int index = s.indexOf("\\u");
if (index != -1) {
String s1 = s.substring(index, index + 6);
if (s1.matches("\\\\u[0-9A-F]{4}")) {
char c = (char) Integer.parseInt(s1.replace("\\u", ""), 16);
s = s.substring(0, index) + c + s.substring(index + 6);
}
} else {
break;
}
}
return s;
}
}