急!在线等,关于二进制编码!(二进制解码在线)

2023-03-19 2:09:40 密码用途 思思

1位二进制可以有___2___种编码,编码为_____0,1____________

2位二进制可以有__4____种编码,编码为___00,01,10,11______________

3位二进制可以有___8___种编码,编码为__000,001,010,011,100,101,110,111_______________,即十进位制从___0____到_____7_____

......

N位二进制可以有___2^n___种编码

就是每一位上都可以置0或者置1,而每种不相同的排列都可以算是一种编码

2进制解码

这个帐号有点长啊,1000111001011011110001111000000001000011000011101000011110001001

二进制加密解密

简单的异或加密,自己不写是损失

==========

#include cstdio

using namespace std;

void binByte(char *bin, unsigned char b){

char i=7;

while(b0){

bin[i]=(b1)+'0';

b=1;

i--;

}

while(i=0){

bin[i--]='0';

}

}

int main()

{

char *src="NCTV";

char bin[9]={0};

unsigned char *p=(unsigned char*)src;

unsigned char pwd=0x59;//1011001

unsigned char code;

while(*p!='\0'){

code=*p^pwd;

binByte(bin,*p);

printf("%c %u %s 加密成 %u ",*p,*p,bin,code);

binByte(bin,code);

printf("%s 解密成",bin);

code^=pwd;

binByte(bin,code);

printf(" %c %u %s",code,code,bin);

printf("\n");

p++;

}

return 0;

}

==============

输出:

N 78 01001110 加密成 23 00010111 解密成 N 78 01001110

C 67 01000011 加密成 26 00011010 解密成 C 67 01000011

T 84 01010100 加密成 13 00001101 解密成 T 84 01010100

V 86 01010110 加密成 15 00001111 解密成 V 86 01010110

========