十进制

ip地址

蓝咒 提交于 2019-12-05 20:05:04
IP地址是什么?为了确切地标识Internet中的主机和路由器,TCP/IP建立了一套编址方案,为每台主机和路由器分配一个全网唯一的地址。这个地址的名字就叫IP地址。(相当于国家为了知道谁是谁为每个人都分配了一个身份证号码一样)。 值得注意的是,一台主机至少拥有一个IP地址,允许一台主机拥有多个IP地址。(计算机可以有几个身份证但是人只能有一个)。 类似于居民身份证号,主机的身份证号也有一定的规律。 在人少的时候,身份证号的位数就要求少一些;当居民变多,以前的位数号码所能表示的最大人口数量超过这个国家的人口数量时,身份证就要升级,将身份证号码增长一点点。IP地址也是。因此机器数量少的时候用的是IPv4(目前还在用,估计马上就要换IPv6了)。 目前仍在使用的IP地址是IPv4版本的。由四个字节组成,每个字节8位二进制数,就是说目前的IP地址由32位二进制数组成。 32个000011111等,写着麻烦,看着也容易看花眼。因此我们用点分十进制法,将这32位二进制数字每八位划分一次,每8位数对应一个十进制数,这样一来,长长的32位地址就变成了四个用点隔开的十进制数字了。 身份证的规则我百度了一下,详细情况是:前1、2位数字表示:所在省(直辖市、自治区)的代码;第3、4位数字表示:所在地级市(自治州)的代码;第5、6位数字表示:所在区(县、自治县、县级市)的代码;第7—14位数字表示

PAT基础编程练习

烂漫一生 提交于 2019-12-05 14:18:54
7-1 厘米换算英尺英寸 (15 分) 如果已知英制长度的英尺 f o o t和英寸 i n c h的值,那么对应的米是 (。现在,如果用户输入的是厘米数,那么对应英制长度的英尺和英寸是多少呢?别忘了1英尺等于12英寸。 输入格式: 输入在一行中给出1个正整数,单位是厘米。 输出格式: 在一行中输出这个厘米数对应英制长度的英尺和英寸的整数值,中间用空格分开。 输入样例: 170 输出样例: 5 6 #include<stdio.h> int main(){ int cm = 0; int foot,inch; scanf("%d",&cm); foot = cm/30.48; inch = (cm/30.48-foot)*12; printf("%d %d",foot,inch); return 0; } 7-2 然后是几点 (15 分) 有时候人们用四位数字表示一个时间,比如1106表示11点零6分。现在,你的程序要根据起始时间和流逝的时间计算出终止时间。 读入两个数字,第一个数字以这样的四位数字表示当前时间,第二个数字表示分钟数,计算当前时间经过那么多分钟后是几点,结果也表示为四位数字。当小时为个位数时,没有前导的零,即5点30分表示为530。注意,第二个数字表示的分钟数可能超过60,也可能是负数。 输入格式: 输入在一行中给出2个整数,分别是四位数字表示的起始时间

为什么0.1+0.2不等于0.3

跟風遠走 提交于 2019-12-05 07:12:34
原文地址: 为什么0.1+0.2不等于0.3 先看两个简单但诡异的代码: 0.1 + 0.2 > 0.3 // true 0.1 * 0.1 = 0.010000000000000002 0.1加0.2为什么就不等于0.3昵?要回答这个问题,得先了解计算机内部是如何表示数的。 计算机内部如何表示数 我们都知道,计算机用位来储存及处理数据。每一个二进制数(二进制串)都一一对应一个十进制数。 1. 计算机内部如何表示整数 这里以十进制数13来展示“按位计数法”如何表示整数: 十进制值 进制 按位格式 描述 13 10 13 1x10^1 + 3x10^0 = 10 + 3 13 2 1101 1x2^3 + 1x2^2 + 0x2^1 + 1x2^0 = 8 + 4 + 0 + 1 2. 计算机内部如何表示小数 再看小数怎么用按位计数法表示,以十进制数0.625为例: 十进制值 进制 按位格式 描述 0.625 10 0.625 6x10^-1 + 2x10^-2 + 5x10^-3 = 0.6 + 0.02 + 0.005 0.625 2 0.101 1x2^-1 + 0 x2^-2 + 1x2^-3 = 1/2 + 0 + 1/8 3. 如何用二进制表示0.1 关于十进制与二进制间如何转换,这里不细说,直接给出结论: 十进制整数转二进制方法:除2取余;十进制小数转二进制方法

数据结构与算法之栈结构

时光毁灭记忆、已成空白 提交于 2019-12-05 04:30:45
认识栈结构 栈也是一种 非常常见 的数据结构,并且在程序中的 应用非常广泛 数组: 我们知道数组是一种 线性结构 ,并且可以在数组的 任意位置 插入和删除数据 但是,有些时候,我们为了实现一些功能,必须对这种 任意性 加以 限制 而 栈和队列 就是比较常见的 受限的线性结构 ,我们先来学习栈结构 栈结构: 只能栈顶进,也只能栈顶出 插入新元素为入栈/压栈 ,删除元素出栈/退栈 程序中什么是使用栈实现的? 函数调用栈:A调用B ,B调用C,C又调用D 那样在执行过程中,会先将A压入栈,A没有执行完,所以不会弹出栈 在A执行过程中,调用了B,会将B压入到栈,这个时候B在栈顶,A在栈底 以此类推 栈底A->B->C->D栈顶,D执行完,弹出栈,C/B/D依此弹出 所以我们有函数调用栈的称呼,就来自于他们内部的实现机制(通过栈来实现) 递归:如果递归无限次一直调用,就会出现栈溢出的情况,不断压入同一个函数,他前面的函数并不能及时的释放 栈结构面试题: 有六个元素6,5,4,3,2,1的顺序进栈,问下列哪一个不是合法的出栈顺序?() A.543612 B.453216 c.346521 D.234156 //答案:选c 解析:A答案:65进栈,5出栈,4进栈出栈,3进栈出栈,6出栈,21进栈,1出栈,2出栈 BC答案依此类推 六个元素不一定是连续进栈,只是进栈的顺序要这个顺序。

java中printf中用法详解

蹲街弑〆低调 提交于 2019-12-05 02:52:39
看到这篇文章写得不错,情不自禁转载 本文章转载自 https://www.cnblogs.com/seakt/p/4478045.html 目前printf支持以下格式: %c 单个字符 %d 十进制整数 %f 十进制浮点数 %o 八进制数 %s 字符串 %u 无符号十进制数 %x 十六进制数 %% 输出百分号% printf的格式控制的完整格式: % - 0 m.n l或h 格式字符 下面对组成格式说明的各项加以说明: ①%:表示格式说明的起始符号,不可缺少。 ②-:有-表示左对齐输出,如省略表示右对齐输出。 ③0:有0表示指定空位填0,如省略表示指定空位不填。 ④m.n:m指域宽,即对应的输出项在输出设备上所占的字符数。N指精度。用于说明输出的实型数的小数位数。为指定n时,隐含的精度为n=6位。 ⑤l或h:l对整型指long型,对实型指double型。h用于将整型的格式字符修正为short型。 --------------------------------------- 格式字符 格式字符用以指定输出项的数据类型和输出格式。 ①d格式:用来输出十进制整数。有以下几种用法: %d:按整型数据的实际长度输出。 %md:m为指定的输出字段的宽度。如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输出。 %ld:输出长整型数据。 ②o格式:以无符号八进制形式输出整数

数字电子技术基础大作业---电子表、流水灯

杀马特。学长 韩版系。学妹 提交于 2019-12-04 17:50:58
数字电子技术基础大作业 电子表、流水灯 一.电子表 1.1 应用的元件 555 、六片 74LS160N 、三片 74LS26D 、两片 74LS04D 、六个个 D_HEX(十六进制输入的显示数码管)、电阻、电容若干 1.2 简单原理 用 555 定时器产生频率为 1HZ 的时钟,作为十进制计数器的时钟源,计数器开始计时,并连接十六进制数码管进行显示,显示秒表个位数值。当计满十时, QD 电位变化,产生下一片计数器的时钟脉冲,进行计数,并连接另一个十六进制数码管进行显示,显示秒表十位数值。当十位数值为 6 时,连接电路使其同步置零。同理,进行多片计数器级联,秒位计满 60 产生一个时钟脉冲,分位计数器计数。分位计数器计满 60 同步置零,并产生时钟脉冲小时位计数器计数,当计到 24 小时时,小时位计数器同步置零。 1.3 模块介绍 1.3.1 555 定时器—— 多谐振荡器 多谐振荡器又称为无稳态触发器,它没有稳定的输出状态,只有两个暂稳态。在电路处于某一暂稳态后,经过一段时间可以自行触发翻转到另一暂稳态。两个暂稳态自行相互转换而输出一系列矩形波。多谐振荡器可用作方波发生器。 接通电源后,假定是高电平,则T截止,电容C充电。充电回路是VCC—R1—R2— C—地,按指数规律上升,当上升到时(TH、端电平大于),输出翻转为低电平。是低电平,T导通,C放电,放电回路为C—R2—T—地

C语言I博客作业08

北战南征 提交于 2019-12-04 13:51:13
问题 回答 这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 作业要求 我在这个课程的目标是 自己设计一个小游戏 这个作业在那个具体方面帮助我实现目标 在PTA题目中多次使用while和do-while结构 参考文献 伪代码的写法 1.PTA实验作业(20分/题) 1.1求整数的位数及各位数字之和 (15 分) 对于给定的正整数N,求它的位数及其各位数字之和。 输入格式: 输入在一行中给出一个不超过10的9次方正整数N。 输出格式: 在一行中输出N的位数及其各位数字之和,中间用一个空格隔开。 输入样例: 321 输出样例: 3 6 1.1.1数据处理 数据表达:运用了整型变量number,item,sum,i,分别代表输入的整型数,储存整型数,位数,各位数字之和。 数据处理: int number,item; /*整型数,储存整型数*/ int i←0,sum←0; /*位数,各位数字之和*/ 输入整型数 item←number while(item) sum+←item%10 /*储存各位数*/ item←item/10 /*储存整型数*/ i++ 输出位数,各位数字之和 end 1.1.2实验代码截图 1.1.3 造测试数据 输入数据 输出数据 说明 45678 5 30 5位数,各位数字之和为30 464894 6 35 6位数,各位数之和为35 12346 5

C语言I博客作业08

人盡茶涼 提交于 2019-12-04 12:14:47
这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 作业要求 我在这个课程的目标是 会使用c语言进行编程序 这个作业在那个具体方面帮助我实现目标 写PTA作业,帮助自己进行总结 参考文献 【PTA 天梯赛】L1-046 整除光棍(除法模拟) 1.PTA实验作业 1.1jmu-c-二进制转10进制 输入一组二进制字符,输出其对应的十进制数。当输入回车键时,输入结束。若输入非二进制字符,输出 error input! 输入样例1 : 11111111 输出样例1 : 255 输入样例2 : 34 输出样例2 : error input! 1.1.1数据处理 数据表达 :定义整型变量n, i, sum, b, c,定义数组a,n用于输入数组a的下标,i用于for循环,sum算十进制的数,b用于判断输不输出十进制数,c为计算十进制数数组a的下标。 数据处理 : 定义整型变量n, i, sum, b, c,定义数组a,n用于输入数组a的下标,i用于for循环,sum算十进制的数,b用于判断输不输出十进制数,c为计算十进制数数组a的下标。 do { n累加1; 输入个字符赋值给数组a[n]; } while (a[n] != '\n'); end while; n赋值给c; for i = 0 to n c累减1; if a[c] == '1' sum累加求十进制数; else if

C语言I博客作业08

时光怂恿深爱的人放手 提交于 2019-12-04 12:10:41
这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 C语言I作业08 我在这个课程的目标是 熟悉使用while和do-while结构解决问题 这个作业在那个具体方面帮助我实现目标 在作业中不断总结错误,更好地掌握了C语言 参考文献 C语言 1.PTA实验作业 1.1题目1:7-3 jmu-c-二进制转10进制 题目内容描述:输入一组二进制字符,输出其对应的十进制数。当输入回车键时,输入结束。若输入非二进制字符,输出error input! 1.1.1数据处理 数据表达 定义字符ch,整形变量sum存放结果,整形变量flag用于辅助判断。 数据处理 使用了while循环语句,while(ch!='\n)回车作为结束标志。 使用了switch语句,switch(ch)当输入新二进制字符十进制数*2+字符实现二进制转十进制。 default ch='\n'当输入非二进制输出“error input!”,并结束循环。 if(flag==0)printf(“%d”,sum)输入非法字符时不输出sum。 伪代码 1.1.2实验代码截图 1.1.3 造测试数据 输入数据 输出数据 说明 1 1 二进制中1对应十进制中1 11111111 255 二进制中11111111对应十进制中255 34 error input 34是非二进制字符 1.1.4 PTA提交列表及说明 编译错误

Java基础之数据类型

流过昼夜 提交于 2019-12-04 11:48:12
数据类型 进制之间的转换 十进制 二进制(0B) 八进制(0) 十六进制(0X)之间的转换 十进制转二进制:除2到取余 二进制转八进制:从最右边开始,三位一组,换算成十进制的值 二进制转十六进制:从最右边开始,四位一组,换算成十进制的值 浮点型float和double 计算机中存储3.14 小数涉及:整数部分 小数部分 . 正负号 1、小数部分转成二进制,是乘2取整数部分 3.14----》11.00100... 2、科学计数法表示 1.100100...*n的1次方 科学计数法,整数部分永远是1,小数点也不用存储,只存三个内容:正负号,几次方,小数点部分。 float:4个字节, 最高位符号位,8位存指数,其他小数部分 double:8个字节, 最高位符号位,11位存指数,其他小数部分 3、浮点类型不稳定,因为十进制转二进制,小数点需要会舍掉一些 4、float类型存的范围其实比long还要大,因为浮点型的底层存储的是指数 基本数据类型转换 1、隐性转换:数值类型,如果小的类型可以转成大的类型,大的类型不可以转成小的 2、强制转换:运用于字符和数值型,强制转成想要的,例如int a=(int)10.0,缺点:会溢出,缺失精度 3、两个byte,short,char类型相加,产生编译错误 byte a = 1; byte b = 1; byte c = a + b; /