二进制代码

按位与、或、异或等运算方法

扶醉桌前 提交于 2019-12-23 00:20:06
按位与运算符(&) 参加运算的两个数据,按二进制位进行“与”运算。 运算规则:0&0=0; 0&1=0; 1&0=0; 1&1=1; 即:两位同时为“1”,结果才为“1”,否则为0 例如:3&5 即 0000 0011 & 0000 0101 = 0000 0001 因此,3&5的值得1。 另,负数按补码形式参加按位与运算。 “与运算”的特殊用途: (1)清零。如果想将一个单元清零,即使其全部二进制位为0,只要与一个各位都为零的数值相与,结果为零。 (2)取一个数中指定位 方法:找一个数,对应X要取的位,该数的对应位为1,其余位为零,此数与X进行“与运算”可以得到X中的指定位。 例:设X=10101110, 取X的低4位,用 X & 0000 1111 = 0000 1110 即可得到; 还可用来取X的2、4、6位。 按位或运算符(|) 参加运算的两个对象,按二进制位进行“或”运算。 运算规则:0|0=0; 0|1=1; 1|0=1; 1|1=1; 即 :参加运算的两个对象只要有一个为1,其值为1。 例如:3|5 即 0000 0011 | 0000 0101 = 0000 0111 因此,3|5的值得7。  另,负数按补码形式参加按位或运算。 “或运算”特殊作用: (1)常用来对一个数据的某些位置1。 方法:找到一个数,对应X要置1的位,该数的对应位为1,其余位为零

文本文件和二进制文件的区别

会有一股神秘感。 提交于 2019-12-22 00:38:46
文本文件: 文本文件是一种计算机文件,它是一种典型的顺序文件,其文件的逻辑结构又属于流式文件。 特别的是,文本文件是指以ASCII码方式(也称文本方式)存储的文件,更确切地说,英文、数字等字符存储的是ASCII码,而汉字存储的是机内码。文本文件中除了存储文件有效字符信息(包括能用ASCII码字符表示的回车、换行等信息)外,不能存储其他任何信息。 文本文件是一种由若干行字符构成的 计算机文件 。文本文件存在于计算机文件系统中。通常,通过在文本文件最后一行后放置文件结束标志来指明文件的结束。 文本文件是指一种容器,而纯文本是指一种内容。文本文件可以包含纯文本。 一般来说,计算机文件可以分为两类:文本文件和 二进制文件 。[2] 格式 ASCII ASCII 标准使得 文件 只含有ASCII字符的文本文件可以在 Unix 、 Macintosh 、 Microsoft Windows 、 DOS 和其它 操作系统 之间自由交互,而其它格式的文件是很难做到这一点的。但是,在这些操作系统中,换行符并不相同,处理非ASCII字符的方式也不一致。 MIME 文本文件在MIME标准中的类型为“text/plain”,此外,它通常还附加编码的信息。在Mac OS X出现前,当Resource fork指定某一个文件的类型为“TEXT”时,Mac OS就认为这个文件是文本文件。在Windows中

实现游戏的存档以及读档

孤街醉人 提交于 2019-12-21 15:11:56
实现游戏的存读档有三个方式 二进制方法 XML JSON 对比 二进制方法:简单,但可读性差。 XML:可读性强,但是文件庞大,冗余信息多。 JSON:数据格式比较简单,易于读写,但是不直观,可读性比XML差。 二进制方法(Binary Formatter) 序列化:新建或打开一个二进制文件,通过二进制格式器将对象写入该二进制文件。 反序列化:打开待反序列化的二进制文件,通过二进制格式器将文件解析成对象。 JSON: 是一种语言无关的发送和接收数据的常用格式。可以使用它来跨平台的传输数据。 JSON序列化:对象 JSON JSON反序列化:JSON 对象 XML 扩展标记语言,用于标记电子文件使其具有结构性的标记语言。 可以用来标记数据、定义数据类型。 序列化与反序列化的方式与二进制方法十分类似。 http://blog.csdn.net/y1196645376/article/details/52541882 具体实现操作如下 创建save保存类,在unity下创建c#脚本save public class save { public List < int > livingtargetposition = new List < int > ( ) ; //存活敌人位置信息 public List < int > livingmonstertype = new List < int

UTF-8编码规则(转)

ⅰ亾dé卋堺 提交于 2019-12-21 01:11:45
UTF-8编码规则(转) UTF-8是Unicode的一种实现方式,也就是它的字节结构有特殊要求,所以我们说一个汉字的范围是0X4E00到0x9FA5,是指unicode值,至于放在utf-8的编码里去就是由三个字节来组织,所以可以看出unicode是给出一个字符的范围,定义了这个字是码值是多少,至于具体的实现方式可以有多种多样来实现。 UTF-8是一种变长字节编码方式。对于某一个字符的UTF-8编码,如果只有一个字节则其最高二进制位为0;如果是多字节,其第一个字节从最高位开始,连续的二进制位值为1的个数决定了其编码的位数,其余各字节均以10开头。UTF-8最多可用到6个字节。 如表: 1字节 0xxxxxxx 2字节 110xxxxx 10xxxxxx 3字节 1110xxxx 10xxxxxx 10xxxxxx 4字节 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx 5字节 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 6字节 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 因此UTF-8中可以用来表示字符编码的实际位数最多有31位,即上表中x所表示的位。除去那些控制位(每字节开头的10等),这些x表示的位与UNICODE编码是一一对应的

Java的基本数据类型

做~自己de王妃 提交于 2019-12-21 00:02:21
Java的基本数据类型 想要学习资料的可以私聊联系我,大家一起交流学习! Java的两大数据类型: 内置数据类型 引用数据类型 内置数据类型 Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。 byte: byte数据类型是8位、有符号的,以二进制补码表示的整数; 最小值是-128(-2^7); 最大值是127(2^7-1); 默认值是0; byte类型用在大型数组中节约空间,主要代替整数,因为byte变量占用的空间只有int类型的四分之一; 例子:byte a = 100,byte b = -50。 short: short数据类型是16位、有符号的以二进制补码表示的整数 最小值是-32768(-2^15); 最大值是32767(2^15 - 1); Short数据类型也可以像byte那样节省空间。一个short变量是int型变量所占空间的二分之一; 默认值是0; 例子:short s = 1000,short r = -20000。 int: int数据类型是32位、有符号的以二进制补码表示的整数; 最小值是-2,147,483,648(-2^31); 最大值是2,147,485,647(2^31 - 1); 一般地整型变量默认为int类型; 默认值是0; 例子:int a =

Java的基本数据类型

北战南征 提交于 2019-12-20 23:22:17
Java的基本数据类型 想要学习资料的可以私聊联系我,大家一起交流学习! Java的两大数据类型: 内置数据类型 引用数据类型 内置数据类型 Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。 byte: byte数据类型是8位、有符号的,以二进制补码表示的整数; 最小值是-128(-2^7); 最大值是127(2^7-1); 默认值是0; byte类型用在大型数组中节约空间,主要代替整数,因为byte变量占用的空间只有int类型的四分之一; 例子:byte a = 100,byte b = -50。 short: short数据类型是16位、有符号的以二进制补码表示的整数 最小值是-32768(-2^15); 最大值是32767(2^15 - 1); Short数据类型也可以像byte那样节省空间。一个short变量是int型变量所占空间的二分之一; 默认值是0; 例子:short s = 1000,short r = -20000。 int: int数据类型是32位、有符号的以二进制补码表示的整数; 最小值是-2,147,483,648(-2^31); 最大值是2,147,485,647(2^31 - 1); 一般地整型变量默认为int类型; 默认值是0; 例子:int a =

关于二进制枚举

末鹿安然 提交于 2019-12-19 06:16:11
算是彻底搞懂二进制枚举吧。 首先一个集合的子集有2^n个,所以我们枚举的个数有(1<<n)个; 所以 for(int i=0; i<(1<<n); i++) 我们知道二进制枚举的过程如下: 每个位置值为1则保留,不为1则舍弃 ; 设s=13(二进制为1101)那么我们保留0 2 3位置上的数值; 那么我们如何找到每个位置上的数值呢? 我们遍历的是二进制的十进制表示(比如13),我们当然可以转化为二进制在枚举每一位,但是,这很麻烦; 一个很巧妙的方式就是利用位运算; 1<<0=1(0); 1<<1=2(10); 1<<2=4(100); 1<<3=8(1000); 1<<4=16(10000); ... 1<<7=128(10000000); ... 看出来了吧!我们只需要将13&(1<<i)我们便可以得到每一位是不是1 (1<<i除了那一位,剩余的都是0,所以我么就可以得到那一位是不是1) 因此,我们便有了: for(int i=0; i<n; i++) if(s&(1<<i)) printf(" %d ",a[i]); 完整代码: for(int i=0; i<(1<<n); i++) { for(int i=0; i<n; i++) { if(s&(1<<i)) printf(" %d ",a[i]); } } 这只是将子集输出,你也可以将枚举出的子集存到数组或容器

MATLAB实现2ASK,2PSK,2FSK

十年热恋 提交于 2019-12-18 04:17:39
matlab小白,还希望多多交流~ 问题描述 设二进制序列为 1011010010,画出 2ASK 2PSK 2FSK 波形 原理描述 1、2ASK ASK即“幅移键控”又称为“振幅键控”,2ASK是二进制振幅键控。发送为二进制符号“0”时,2ASK信号取值为0;发送为二进制符号“1”时,2ASK信号取值为载波对应的值。可用下面表达式表示 2、2PSK 2PSK称为二进制相移键控,是相移键控的最简单的一种形式,它用两个初相相隔为180的载波来传递二进制信息。2PSK即发送为二进制符号“0”时,取0相位;发送为二进制符号“1”时,取π相位。或者也可以反过来。这种以载波的不同相位直接去表示相应二进制数字信号的调制方式,称为二进制绝对相移方式。 3、2FSK 2FSK为二进制数字频率调制(二进制频移键控),用载波的频率来传送数字信息,即用所传送的数字信息控制载波的频率。2FSK信号便是符号“0”对应于载频 f1,而符号“1”对应于载频 f2(与 f1 不同的另一载频)的已调波形,而且 f1 与 f2 之间的改变是瞬间的。传“0”信号时,发送频率为 f1 的载波; 传“1”信号时,发送频率为 f2的载波。可见,FSK 是用不同频率的载波来传递数字消息的。 MATLAB代码 % 调制信号 y = [ 1 0 1 1 0 1 0 0 1 0 ] t_begin = 0 t_end = 1 mt

Java 基本数据类型

时光总嘲笑我的痴心妄想 提交于 2019-12-16 16:53:27
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> Java 基本数据类型 变量就是申请内存来存储值。也就是说,当创建变量的时候,需要在内存中申请空间。 内存管理系统根据变量的类型为变量分配存储空间,分配的空间只能用来储存该类型数据。 因此,通过定义不同类型的变量,可以在内存中储存整数、小数或者字符。 Java的两大数据类型: 内置数据类型 引用数据类型 内置数据类型 Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。 byte: byte数据类型是8位、有符号的,以二进制补码表示的整数; 最小值是-128(-2^7); 最大值是127(2^7-1); 默认值是0; byte类型用在大型数组中节约空间,主要代替整数,因为byte变量占用的空间只有int类型的四分之一; 例子:byte a = 100,byte b = -50。 short: short数据类型是16位、有符号的以二进制补码表示的整数 最小值是-32768(-2^15); 最大值是32767(2^15 - 1); Short数据类型也可以像byte那样节省空间。一个short变量是int型变量所占空间的二分之一; 默认值是0; 例子:short s = 1000,short r = -20000。 int: int数据类型是32位

C语言博客作业06--结构体&文件

别说谁变了你拦得住时间么 提交于 2019-12-16 13:53:17
1.本章学习总结 1.1 学习内容总结 1.结构的介绍 结构(Structure)类型是一种允许程序员把一些数据分量聚合成一个整体的数据类型,一个结构中包含的每个数据分量都有名字。这些数据分量称为结构成员或者结构分量,结构成员可以是C语言中的任意变量类型,程序员可以使用结构类型来创建适合于问题的数据聚合。 像数组和指针一样,结构也是一种构造数据类型(或叫派生数据类型),它与数组的区别在于:数组中所有元素的数据类型必须是相同的,而结构中各成员的数据类型可以不同。 2.结构是C语言中一种新的构造数据类型,它能够把有内在联系的不同类型的数据汇聚成一个整体,使它们相互关联;同时,结构又是一个变量的集合, 可以按照对基本数据类型的操作方达单独使用其成员变量。 3.在C语言中,整型、实型等基本数据类型是被系统预先定义好了的,程序员可以用其直接定义变量。而结构类型是由用户根据需要,按规定的格式自行定义的数据类型。 4.结构类型定义的一般形式为: struct 结构名 { 类型名 结构成员名1; 类型名 结构成员名2; … 类型名 结构成员名n; }; 5.struct是定义结构类型的关量字,在struct之后,自行命名一个结构名,它必须是一个合法的C标识符。struct与结构名两者合起来共同组成结构类型名,大括号内的内容是结构所包括的结构成员,也叫结构分量。结构成员可以有多个,这样