摘要:当两个二进制数码表示两个数量大小时,它们之间可以进行数值运算,这种运算称为算术运算。数字系统一个重要的功能就是可以对用二进制码表示的数进行各种算术运算,掌握二进制数的基本运算,有助于了解这些运算电路的工作原理和设计过程。二进制加法任意两个二进制数(不论在什么...
阅读全文
摘要:二进制整数的Java实现任意两个二进制数(不论在什么位置)相加,只可能出现4种情况。它们是:0+0=01+0=0+1=11+1=10=0+向高一位的进位11+1+1=11=1+向高一位的进位1//整数二进制相加 public static String ad...
阅读全文
摘要:提取2的幂这个方法用代码实现貌似有点麻烦,需要探测大小,我只实现了整数十进制到二进制的转化/* * 提取2的幂 */ public static String TenToBin1(int ten) { int index = 0; Strin...
阅读全文
摘要:二进制转化为十进制①按权展开方法Java实现/* * 按权展开法 */ public static double BinToTen1(String binary) { //查找该二进制是否存在小数点 int index = binary.indexO...
阅读全文
摘要:预防死锁(1) 摒弃“请求和保持”条件基本思想:规定所有进程在开始运行之前,要么获得所需的所有资源,要么一个都不分配给它,直到所需资源全部满足才一次性分配给它。优点:简单、易于实现且很安全缺点:资源被严重浪费,进程延迟运行(2) 摒弃“不剥夺”条件基本思想:...
阅读全文
摘要:一千个读者,一千个哈姆雷特。对于面对对象编程,书上都会告诉我们它有三个基本特性,封装,继承,多态,但谈起对这三点的见解,又是仁者见仁智者见智,感觉还是得多去编程中体验把 。面向对象编程(OOP, Object Oriented Programming)是一种...
阅读全文
摘要:链表是一种类似数组的数据结构,这个“数组”中的每个元素和另一个元素都好像是手拉着手一样。public class LinkNode { public Object data; //存放结点数据 public LinkNode next; //指向下一个结点,...
阅读全文
摘要:上一节中,我们发现顺序队列的多次入队和出队操作会造成有存储空间却不能进入队列的"假溢出"现象,之所以发生这种情况,是因为顺序队列的存储单元没有重复存储机制,解决方法是如果数据一直存放到了数组的末尾,那么下一个存储位置就折回到数组的开头。这样就相当于数组的末尾...
阅读全文
摘要:续上节,我们来说说顺序队列的实现,队列对所存储数据的存取方式是FIFO的。为了实现队列这种数据结构,以下元素是必不可少的:1.一个任意大小的数组;2.一个用于存放排在队头的数据对应的索引的变量;3.一个用于存放排在队尾的数据对应的索引的变量;4.一对儿函数,...
阅读全文
摘要:栈和队列的相似点在于,它们都可以把不能立刻处理的数据暂时存储起来;不同点在于,栈对所存储数据的存取方式是LIFO的,而队列对所存储数据的存取方式是FIFO的。同样是数组,处理手段不同,得到的数据结构也会不同,数组有时可以转化为栈,有时可以转化为队列。栈的实现...
阅读全文
摘要:java实现石头剪刀布过程首先来看石头剪刀布的所有可能情况,具体如下图第一种思路是穷举所有可能,使用if条件语句,略显呆板和麻烦。第二种思路,因为计算机存的是数字,所以我们可以从数字角度来找规律:在这里我们用0代表石头;1代表剪刀;2代表布;那我们的猜拳游戏...
阅读全文
摘要:题目如下:鸡和兔子共计10只,把它们的脚加起来共计32只,问鸡和兔子分别有多少只?设有x只鸡,y只兔子,那么就可以列出如下的联立方程组。代码实现(java)利用嵌套for循环public static void main(String[] args) { ...
阅读全文
摘要:辗转相除法(又称欧几里得算法)就是一个机械地求解最大公约数问题的算法。在辗转相除法中分为使用除法运算和使用减法运算两种方法。使用减法运算简单易懂,步骤如图5.2所示。用两个数中较大的数减去较小的数(步骤),反复进行上述步骤,直到两个数的值相等(步骤的终止)。...
阅读全文