精华内容
下载资源
问答
  • 一个JavaScript库,用于任意精度的十进制非十进制算术。 产品特点 整数和小数 简单API,但功能齐全 比JavaBigDecimalJavaScript版本更快,更小,甚至更容易使用 缩小并压缩8 KB 复制JavaScriptNumber类型...
  • 简易状态压缩DP

    2020-09-25 20:14:02
    康康目录位运算 位运算 左移右移 左移:左移一位,等价于该数x2 eg....<1 = 1100 (十进制从6变为12) 右移同理 eg....1 = 11(十进制从6变为3) ...当我们需要判断或修改二进制数S第i位时,我们进行以下操作 若判断第

    简易状压DP

    开头甩定义
    借助二进制完成对状态的压缩,从而进行动态规划的过程,我们称之为状态压缩动态规划(简称“状压DP”)

    位运算

    1. 左移右移
      左移:左移一位,等价于该数x2
      eg. 110<<1 = 1100 (十进制从6变为12)
      右移同理
      eg. 110>>1 = 11(十进制从6变为3)

    2. 与或非
      相信各位OIer应当在普及时就学过位运算了,但本蒟蒻还是要讲
      与:按位进行与运算 满足两数同一位都为1时结果为1,否则为0
      或:按位进行或运算 满足两数同一位都为0时结果为0,否则为1
      非:按位取反

    3. 简单运算
      当我们需要判断或修改二进制数S的第i位时,我们进行以下操作
      若判断第i位是否为0 即判断 (S&(1<<i)) 是否为0
      若要将第i位设置为1 即 (S|(1<<i)) 即1左移i位于S进行或运算
      若要将第i位设置为0 即 (S&~(1<<i)) 即S与只有第i位为0的数进行或运算

    4. 简单应用
      经过上面的学习大家可以发现我们可以用位运算的方法来枚举子集
      假设集合A={1,2,3,4,5}
      我们可以通过将A中的数编号的方式使其转化为一个二进制数
      是不是非常神奇呀
      下面我们来康康具体操作
      假设我们要表示A的子集B={2,4,5}

    二进制数位 4 3 2 1 0
    二进制值 1 1 0 1 0
    子集元素 5 4 0 2 0

    这里需要注意的是二进制的数位是从0开始的,所以对应关系不要找错
    所以B集合用二进制就可以表示为11010啦!!

    那么我们来做个练习

    李白打酒 【2014蓝桥杯预赛】
    话说大诗人李白,一生好饮。
    一天,他提着酒壶,从家里出来,酒壶中有酒两斗。他边走边唱:
    无事街上走,提壶去打酒
    逢店加一倍,遇花喝一斗。
    这一路上,他一共遇到店5次,遇到花10次,已知最后一次遇到的是花,他正好把酒喝光了。请你计算李白有多少种满足要求的遇到店和花的可能情况
    输入

    正确输出
    14

    题解:
    一道简单的练手题
    考虑使用01串表示遇到花或者店,因为最后一个一定是花所以枚举14位01串就OK
    代码放送~

    #include <bits/stdc++.h>
    using namespace std;
    int main()
    {
    	int ans=0;
    	for(int i=0;i<(1<<14);i++)//枚举每种情况
    	{
    		int ans1=0,ans2=0;
    		int num=2;
    		for(int j=0;j<14;j++)
    		{
    			if(i&(1<<j))
    			{
    				ans1++;
    				num*=2;
    			} 
    			else {ans2++;num--;}
    		}
    		if(ans1==5&&ans2==9&&num==1)ans++;//特判
    	}
    	cout<<ans;
    }
    

    好的你已经掌握了基本的位运算知识了让我们来康康简单状压DP

    状压DP

    话不多说直接上题

    国王 [SGU 223]
    在 n×n 的棋盘上放 k 个国王,国王可攻击相邻的 8 个格子,求使它们无法互相攻击的方案总数

    输入
    只有一行,包含两个整数 n 和 k

    输出
    每组数据一行为方案总数,若不能够放置则输出 0

    样例输入
    3 2
    样例输出
    16

    1<=n<=10 , k<=n2

    题解
    本题为状态压缩DP入门题
    这个题使用八皇后做法是显然不行的(很难剪枝),就考虑使用DP,然而国王在棋盘上的状态使用传统的f[i][j]很难表示,由于国王的状态只有两种,放置与不放置,所以考虑状压解决
    对于第i行所摆放的国王,只会有第i-1行和第i+1行的国王影响它,对其的影响是i-1行和i+1行的摆放方式和1~i-1行总共摆放的国王数很容易得出初始的动态方程
    令f[i][j][s]为第i行目前摆放状态a[j]和前i行已经摆放的国王个数s,易得
    f[i][j][s]=∑f[i-1][k][t]
    a[j],a[k]为两种不同摆放方式
    那么接下来我们就要想想如何表示这两种状态
    还记得我们之前说的李白问题吗?不记得就回去看
    看见国王在棋盘上摆放的状态只有两种,摆与不摆,那么我们可以尝试使用一个01串表示状态,又因为一排最多10个格子,最大宽度也满足,考虑:
    (蒟蒻表格,@代替下国王,没有就是x)

    @ x x x @ x
    1 0 0 0 1 0

    如上图,每个格子对应一个二进制位,于是乎状态就可以用一个卡哇伊的 二进制数表示出来啦
    时间复杂度也是允许的,可以自己推推看~
    放代码!!

    #include<bits/stdc++.h> //万能库深得朕心
    using namespace std;
    typedef long long ll;
    #define N 15
    ll f[N][155][155],ans=0,s=0;
    int n,sum[166],num[155],K;
    int main()
    {
        cin>>n>>K;
    	memset(f,0,sizeof(f));
    	for(int i=0;i<(1<<n);i++)
    	{
    		if(i&(i<<1)) continue; //检查状态
    		int k=0;
    		for(int j=0;j<n;j++) if(i&(1<<j))k++;
    		sum[++s]=i;
    		num[s]=k;
        }
        
    	f[0][1][0]=1;
    	for(int i=1;i<=n;i++)
    	  for(int j=1;j<=s;j++)
    	    for(int k=0;k<=K;k++)
    	    {
    	    	if(k>=num[j])
    	    	for(int t=1;t<=s;t++)
    	    	if(!(sum[t]&sum[j])&&!(sum[t]&(sum[j]<<1))&&!(sum[t]&(sum[j]>>1)))
    	    	  f[i][j][k]+=f[i-1][t][k-num[j]];
    		}
    	
    	for(int i=1;i<=s;i++) ans+=f[n][i][K]; //统计
    	cout<<ans<<endl;
    }
    

    是不是有点感觉了
    还要多练练题,基础的思路就是判断状态是否可以转化为二进制,推导dp方程然后写就完事
    PS:位运算一定要好好记:) (惨痛教训)

    展开全文
  • 附注:压缩BCD码与非压缩BCD码区别—— 压缩BCD码每一位用4位二进制表示,一个字节表示两位十进制数。例如10010110B表示十进制数96D;非压缩BCD码用1个字节表示一位十进制数,高四位总是0000,低4位0000~1001...

    附注:压缩BCD码非压缩BCD码的区别—— 压缩BCD码的每一位用4位二进制表示,一个字节表示两位十进制数。例如10010110B表示十进制数96D;非压缩BCD码用1个字节表示一位十进制数,高四位总是0000,低4位的0000~1001表示0~9.例如00001000B表示十进制数8.

    BCD码的运算法则

    BCD码的运算规则:BCD码是十进制数,而运算器对数据做加减运算时,都是按二进制运算规则进行处理的。这样,当将 BCD码传送给运算器进行运算时,其结果需要修正。修正的规则是:当两个BCD码相加,如果和等于或小于 1001(即十进制数9),不需要修正;如果相加之和在 1010 到1111(即十六进制数 0AH~0FH)之间,则需加 6 进行修正;如果相加时,本位产生了进位(十六制进位2020.1.15),也需加 6 进行修正。这样做的原因是,机器按二进制相加,所以 4 位二进制数相加时,是按“逢十六进一”的原则进行运算的,而实质上是 2 个十进制数相加,应该按“逢十进一”的原则相加,16 与10相差 6,所以当和超过 9或有进位时,都要加 6 进行修正。下面举例说明。

    【例 1.3】 需要修正 BCD码运算值的举例。

    (1) 计算 5+8;(2) 计算 8+8

    解:(1) 将 5 和 8 以 8421 BCD输入机器,则运算如下:

    0 1 0 1

    +) 1 0 0 0

    1 1 0 1 结果大于 9

    +) 0 1 1 0 加 6 修正

    1 0 0 1 1 即13 的 BCD码

    结果是 0011,即十进制数3,还产生了进位。5+8=13,结论正确。

    (2)将8以8421 BCD输入机器,则运算如下:

    1 0 0 0

    +)1 0 0 0

    1 0 0 0 0产生进位   (十六制进位,2020.1.15)

    +)0 1 1 0 加6修正

    1 0 1 1 0 16的BCD码

    结果是0110,即十进制的6,而且产生进位。8+8=16,结论正确。

    微机原理代码: (AL=BCD 5,BL=BCD 8) 设AH=0,则

    ADD AL,BL

    AAA

    结果为 AX=0103H,表示非压缩十进制数,CF=1,AF=1,AH=1,AL=3

    使用AAA指令,可以不用屏蔽高半字节,只要在相加后立即执行AAA指令,便能在AX中得到一个正确的非压缩十进制数

    展开全文
  • BCD码

    2017-07-26 17:39:35
    压缩BCD码用4位2进制表示,1字节表示2位BCD码如10010011B表示十进制数93非压缩BCD码用1字节表示 BCD码是一一对应,如:十进制123 用BCD表示为:0001 0010 0011因为:十进制 1 用二进制表示是 0001十进制...
    压缩BCD码用4位2进制表示,1字节表示2位BCD码
    如10010011B表示十进制数93
    非压缩BCD码用1字节表示




    BCD码是一一对应的,如:十进制的123 用BCD表示为:0001 0010 0011因为:十进制的 1 用二进制表示是 0001十进制的 2 用二进制表示是 0010十进制的 3 用二进制表示是 0011与二进制的区别:123的二进制应该用短除法求得1111011由此可见,BCD码只是机械地用二进制表示十进制的每一位。压缩与非压缩:由于1字节有8bit(8个0或1)如果用一字节存储4位BCD码(其余补0)就是非压缩如 十进制的123:00000001 00000010 0011如果用一字节存储8位BCD码就是压缩如 十进制的123:0001 0010 0011
    
    



    4位BCD码 8421  8位BCD码 8421 8421 


    C语言压缩bcd码


    1. #include <stdio.h>  
    2. #include <stdlib.h>  
    3. #include <string.h>  
    4.   
    5.   
    6. /* 
    7. * 字符串转成bcd码,这个是正好偶数个数据的时候,如果是奇数个数据则分左靠还是右靠压缩BCD码 
    8. */  
    9. int asc_to_bcd(char * dest,const char *src)  
    10. {  
    11.     unsigned char temp;  
    12.     while(*src !='\0')  
    13.     {  
    14.         temp = *src;  
    15.         *dest |= ((temp&0xf)<<4);  
    16.         src++;  
    17.         temp = *src;  
    18.         *dest |= (temp&0xf);  
    19.         src++;  
    20.         dest++;  
    21.     }  
    22.     return 0;  
    23. }  
    24.   
    25. int asc_to_bcd_right(char *dest,const char *src,int src_len)  
    26. {  
    27.     unsigned char temp;  
    28.     if((src_len %2) !=0)  
    29.     {  
    30.         *dest &= 0;  
    31.         temp = *src;  
    32.         *dest |= (temp&0xf);  
    33.         src++;  
    34.         dest++;  
    35.     }  
    36.     asc_to_bcd(dest,src);  
    37.     return 0;  
    38. }  
    39.   
    40. int asc_to_bcd_left(char *dest,const char *src,int src_len)  
    41. {  
    42.     unsigned char temp;  
    43.     if((src_len %2) !=0)  
    44.     {  
    45.         dest[src_len-1] &=0;  
    46.     }  
    47.     asc_to_bcd(dest,src);  
    48.     return 0;  
    49. }  
    50.   
    51. void print_hex(char * bcd,int len)  
    52. {  
    53.     int i=0;  
    54.     for(i=0;i<len;i++)  
    55.     {  
    56.         int n = 8;  
    57.         while(n--){  
    58.             if((bcd[i] & (0x1<<n))==0)  
    59.                 printf("0");  
    60.             else  
    61.                 printf("1");  
    62.         }  
    63.         putchar('\n');  
    64.     }  
    65. }  
    66.   
    67.   
    68. int bcd_to_asc(char *dest,const char *src,int src_len)  
    69. {  
    70.     unsigned char temp;  
    71.     char *t = dest;  
    72.     while(src_len--)  
    73.     {  
    74.         *t |= ((*src&0xf0)>>4);  
    75.         *t++ |= 0x30;  
    76.         *t |= (*src&0xf);  
    77.         *t++ |= 0x30;  
    78.         src++;  
    79.     }  
    80.     return 0;  
    81. }  
    82.   
    83. int left_bcd_to_asc(char *dest,const char * src,int src_len)  
    84. {  
    85.     bcd_to_asc(dest,src,src_len);  
    86.     dest[src_len*2 -1] = '\0';  
    87.   
    88.     return 0;  
    89. }  
    90.   
    91.   
    92. int right_bcd_to_asc(char *dest,const char * src,int src_len)  
    93. {  
    94.     bcd_to_asc(dest,src,src_len);  
    95.   
    96.     memmove(dest,dest+1,src_len*2-1);  
    97.     dest[src_len*2-1] = '\0';  
    98.     return 0;  
    99. }  
    100.   
    101.   
    102. int main(void)  
    103. {  
    104.     char str[100];  
    105.       
    106.     char *str1 = "1234567";  
    107.     int str_len = strlen(str1);  
    108.     int bcd_len = (str_len+1)/2;  
    109.     char *bcd = (char *)malloc(bcd_len);  
    110.     printf("str_len = %d \n",str_len);  
    111.     printf("bcd_len = %d \n",bcd_len);  
    112.     memset(bcd,0,bcd_len);  
    113.     memset(str,0,100);  
    114.   
    115. #if 0  
    116.     printf("右靠\n");  
    117.     asc_to_bcd_right(bcd,str1,str_len);  
    118.     print_hex(bcd,bcd_len);  
    119.     right_bcd_to_asc(str,bcd,bcd_len);  
    120.     printf("str = %s\n",str);  
    121. #endif  
    122.   
    123. #if 1  
    124.     printf("左靠\n");  
    125.     asc_to_bcd_left(bcd,str1,str_len);  
    126.     print_hex(bcd,bcd_len);  
    127.     //memset(str,0,100);  
    128.     left_bcd_to_asc(str,bcd,bcd_len);  
    129.     printf("str = %s\n",str);  
    130. #endif  
    131.     return 0;  

    展开全文
  • BCD

    2014-05-20 11:54:57
    压缩BCD码用4位2进制表示,1字节表示2位BCD码如10010011B表示十进制数93非压缩BCD码用1字节表示BCD码是一一对应,如:十进制123 用BCD表示为:0001 0010 0011因为:十进制 1 用二进制表示是 0001十进制 2 用二...
    压缩BCD码用4位2进制表示,1字节表示2位BCD码
    如10010011B表示十进制数93
    非压缩BCD码用1字节表示




    BCD码是一一对应的,如:十进制的123 用BCD表示为:0001 0010 0011因为:十进制的 1 用二进制表示是 0001十进制的 2 用二进制表示是 0010十进制的 3 用二进制表示是 0011与二进制的区别:123的二进制应该用短除法求得1111011由此可见,BCD码只是机械地用二进制表示十进制的每一位。压缩与非压缩:由于1字节有8bit(8个0或1)如果用一字节存储4位BCD码(其余补0)就是非压缩如 十进制的123:00000001 00000010 0011如果用一字节存储8位BCD码就是压缩如 十进制的123:0001 0010 0011



    4位BCD码 8421  8位BCD码 8421 8421 


    C语言压缩bcd码


    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    
    /*
    * 字符串转成bcd码,这个是正好偶数个数据的时候,如果是奇数个数据则分左靠还是右靠压缩BCD码
    */
    int asc_to_bcd(char * dest,const char *src)
    {
    	unsigned char temp;
    	while(*src !='\0')
    	{
    		temp = *src;
    		*dest |= ((temp&0xf)<<4);
    		src++;
    		temp = *src;
    		*dest |= (temp&0xf);
    		src++;
    		dest++;
    	}
    	return 0;
    }
    
    int asc_to_bcd_right(char *dest,const char *src,int src_len)
    {
    	unsigned char temp;
    	if((src_len %2) !=0)
    	{
    		*dest &= 0;
    		temp = *src;
    		*dest |= (temp&0xf);
    		src++;
    		dest++;
    	}
    	asc_to_bcd(dest,src);
    	return 0;
    }
    
    int asc_to_bcd_left(char *dest,const char *src,int src_len)
    {
    	unsigned char temp;
    	if((src_len %2) !=0)
    	{
    		dest[src_len-1] &=0;
    	}
    	asc_to_bcd(dest,src);
    	return 0;
    }
    
    void print_hex(char * bcd,int len)
    {
    	int i=0;
    	for(i=0;i<len;i++)
    	{
    		int n = 8;
    		while(n--){
    			if((bcd[i] & (0x1<<n))==0)
    				printf("0");
    			else
    				printf("1");
    		}
    		putchar('\n');
    	}
    }
    
    
    int bcd_to_asc(char *dest,const char *src,int src_len)
    {
    	unsigned char temp;
    	char *t = dest;
    	while(src_len--)
    	{
    		*t |= ((*src&0xf0)>>4);
    		*t++ |= 0x30;
    		*t |= (*src&0xf);
    		*t++ |= 0x30;
    		src++;
    	}
    	return 0;
    }
    
    int left_bcd_to_asc(char *dest,const char * src,int src_len)
    {
    	bcd_to_asc(dest,src,src_len);
    	dest[src_len*2 -1] = '\0';
    
    	return 0;
    }
    
    
    int right_bcd_to_asc(char *dest,const char * src,int src_len)
    {
    	bcd_to_asc(dest,src,src_len);
    
    	memmove(dest,dest+1,src_len*2-1);
    	dest[src_len*2-1] = '\0';
    	return 0;
    }
    
    
    int main(void)
    {
    	char str[100];
    	
    	char *str1 = "1234567";
    	int str_len = strlen(str1);
    	int bcd_len = (str_len+1)/2;
    	char *bcd = (char *)malloc(bcd_len);
    	printf("str_len = %d \n",str_len);
    	printf("bcd_len = %d \n",bcd_len);
    	memset(bcd,0,bcd_len);
    	memset(str,0,100);
    
    #if 0
    	printf("右靠\n");
    	asc_to_bcd_right(bcd,str1,str_len);
    	print_hex(bcd,bcd_len);
    	right_bcd_to_asc(str,bcd,bcd_len);
    	printf("str = %s\n",str);
    #endif
    
    #if 1
    	printf("左靠\n");
    	asc_to_bcd_left(bcd,str1,str_len);
    	print_hex(bcd,bcd_len);
    	//memset(str,0,100);
    	left_bcd_to_asc(str,bcd,bcd_len);
    	printf("str = %s\n",str);
    #endif
    	return 0;
    }
    
    
    
    

    展开全文
  • 十六进制数转换为十进制数 习题2.十进制数转换为七段码 再次重申,上面三个代码不包含在本资源中。 本代码仅供个人学习参考使用,请勿自行在其他网站及论坛发布,作者在此对访问本资源同学表示感谢。尽管作者对...
  • 计算机数据表示

    2020-02-20 13:18:31
    目录1.数制及其转换1.1常用数制1.2数制之间转换(1)十进制转其他进制(2)其他进制转十进制(3)2,8,16进制转换2.计算机中数值编码2.1原码,反码,补码2.2原码补码...(1)十进制数(Decimal):人类习...
  • 微机原理接口技术之指令

    千次阅读 2018-03-30 18:14:23
    【3-39】以MEM为首地址内存区域中有10个以非压缩的BCD码形式存放的十进制数,他们值可能是0~9中任意一个,现编程序将这10个数顺序显示在屏幕上: 程序代码如下: LEA SI , MEM ;将MEM16位偏移地址送到SI...
  • 微型计算机原理接口技术

    千次阅读 2018-04-01 19:27:20
    1、3-39:以MEM为首地址内存区域中10个以非压缩性BCD码形式存放的十进制数,它可能值0-9中任意一个数字,先编程将这10个数顺序显示在屏幕上,程序段如下:LEA SI,MEM ;SI—源串偏移地址MOV CX,10 ;设置串...
  • 逻辑运算指令 运算规则: 按位操作,无进位、借位 (1)逻辑“”AND 对两个操作数进行按位逻辑“”操作 格式:AND dest,src ...把AL中的非压缩BCD码变成相应十进制数的ASCII码。   OR AL, 30H
  • 4.1.1 二进制和十进制数 30 4.1.2 IPv4地址格式 30 4.2 子网出现 34 4.2.1 分子网 35 4.2.2 可变长子网掩码(VLSM) 37 4.3 无类域前路由(CIDR) 38 4.3.1 无类地址 38 4.3.2 强化路由汇聚 39 4.3.3 超网化 39 4.3.4 ...
  • 疯狂程序员

    热门讨论 2012-07-18 18:05:32
    想我那个年代,这城市有多少程序员,都能出来。我还报了高程,唉……差一点。” 能去教书当然好,因为去教书才有可能从学校里泡个妹妹出来,才有可能和他一样牛B。这么想着,绝影说:“我也想做程序员。” “你...
  • 2.12 循环不变量:将十进制数转换为二进制数 2.13 常见错误 2.14 小结 第3章 算法分析 3.1 引言 3.2 符号O 3.3 时间空间复杂度 3.4 求和 3.5 递推关系 3.5.1 巧妙地猜测 3.5.2 分治关系 3.5.3 涉及...
  • 除本书外,他撰写SQL Server 2000 Fast Answers for DBAs and Developers(即本书前身)是Amazon五星著作,人合写Pro SQL Server 2005也广受好评。他博客地址是http://joesack.com/WordPress/。 目录 封面 ...
  • JAR:Java档案文件(一种用于applet和相关文件的压缩文件) JAVA:Java源文件 JAR:Java档案文件(一种用于applet和相关文件的压缩文件) JAVA:Java源文件 JFF,JFIF,JIF:JPEG文件 JPE,JPEG,JPG:JPEG图形...
  • 第三章 8086/8088的寻址方式和指令系统 练习题 一.单项选择题 1.设BX=2000H,SI=3000H,指令MOV AX,[BX+SI+8]的源操作有效地址为( )。 A.5000H B.5008H C.23008H D....22.十进制数1234的压缩型BCD码为 。...
  • 易语言 茶凉专用模块

    2010-05-04 12:26:36
    子程序 到十进制, 整数型, 公开, 将2,8,16进制文件转换到10进制数值(返回十进制数) .参数 文本, 文本型, , 2,8,16进制文件 .参数 进制, 整数型, 可空, 默认为十六进制 2为二进制,8为八进制,16为16进制 .子程序 读...
  • │ │ 2-4 与非逻辑.ms9 │ │ 2-5 或非逻辑.ms9 │ │ 2-6 与或非逻辑.ms9 │ │ 2-7 异或逻辑.ms9 │ │ 2-8 逻辑函数转换(1).ms9 │ │ 2-9 逻辑函数转换(2).ms9 │ │ │ ├─SD02 │ │ 2-10 二极管...
  • 实例110 通过定义方法求一个数的平方 实例111 使用重载方法实现不同类型数据的计算 5.2 结构类 实例112 通过结构计算矩形的面积 实例113 通过类继承计算梯形面积 实例114 封装类实现一个简单的计算器 实例...
  • 实例110 通过定义方法求一个数的平方 实例111 使用重载方法实现不同类型数据的计算 5.2 结构类 实例112 通过结构计算矩形的面积 实例113 通过类继承计算梯形面积 实例114 封装类实现一个简单的计算器 实例...
  • 实例110 通过定义方法求一个数的平方 实例111 使用重载方法实现不同类型数据的计算 5.2 结构类 实例112 通过结构计算矩形的面积 实例113 通过类继承计算梯形面积 实例114 封装类实现一个简单的计算器 实例...
  • 主要内容有C#开发环境使用、C#语言基础应用、字符串处理技术、数组和集合使用、面向对象...压缩文件、C#Word互操作、高效应用Excel、基本图形绘制、图像处理技术、常用图表应用、动画处理技术、音频视频控制...
  • 主要内容有C#开发环境使用、C#语言基础应用、字符串处理技术、数组和集合使用、面向对象...压缩文件、C#Word互操作、高效应用Excel、基本图形绘制、图像处理技术、常用图表应用、动画处理技术、音频视频控制...
  • 6.2.4 实例6.1--A律三折μ律五折量化误差 159 6.3 差分编码 162 6.3.1 差分编码器 162 6.3.2 差分解码器 163 6.4 DPCM编码和解码 164 6.4.1 DPCM编码器 164 6.4.2 DPCM解码器 166 6.4.3 实例6.2--DPCMPCM...
  • Linux 是在 1991 年发展起来的与 UNIX兼容操作系统,可以免费使用,它源代码 可以自由传播且可任人修改、充实、发展,开发者初衷是要共同创造一个完美、理想并 可以免费使用操作系统。 我们并不能使同学...
  • Java数据压缩与传输实例 1个目标文件 摘要:Java源码,文件操作,数据压缩,文件传输 Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、...
  • JAVA上百实例源码以及开源项目

    千次下载 热门讨论 2016-01-03 17:37:40
     Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...

空空如也

空空如也

1 2 3 4
收藏数 80
精华内容 32
关键字:

十进制数的压缩与非压缩