十进制

汇编语言之期末复习

让人想犯罪 __ 提交于 2019-12-09 13:57:45
复习时整理的小点 奇地址单元 存放2个读写周期 Cpu与存储器之间的任何信息交换使用的都是 物理地址 16位相对位移的范围是 8000H-7FFFH 段地址左移4位加偏移地址 PA=16DX2356+1000= 2456F0HPA=12345H 逻辑地址 为1200H :0345H 状态寄存器用来存放状态信息 一个字节有8位二进制数 8086cpu的内部数据总线是16位的 外部数据总线是16位的 机器语言是可执行指令 [BX+si+8]相对基址变址寻址 pa=bx+si+8 ,即 2000+3000+8 =5008 MEM 补码 寄存器间接寻址 有4个 bx BP SI DI 其中bp 默认段ss [bx+si] 使用ds段寄存器 [bp+5] 使用ss寄存器 段内间接寻址 只改变ip寄存器的值 段间间接寻址 改变cs和IP寄存器的值 PSW 状态寄存器 。不改变PSW的指令是 mov ax,bx 不影响cf标志位 的是inc dec 两个整数补码相加运算后 会产生无溢出但有进位 Jmp word ptr [bx] 段内间接近转移 二-十进制(BCD):用二进制编码的十进制压缩的BCD码:用四位二进制表示一个十进制数码非压缩的BCD码:用8位二进制表示一个十进制位 十进制数字74所对应的压缩型BCD码的形式是 74H 十进制数字85所对应的非压缩型BCD码的是 0805H CMP

K-进制数

柔情痞子 提交于 2019-12-07 18:59:27
题目描述 考虑包含N位数字的K-进制数. 定义一个数有效, 如果其K-进制表示不包含两连续的0. 例: 1010230 是有效的7位数 1000198 无效 0001235 不是7位数, 而是4位数. 给定两个数N和K, 要求计算包含N位数字的有效K-进制数的总数. 假设2 <= K <= 10; 2 <= N; 4 <= N+K <= 18. ​ 输入 两个十进制整数N和K ​ 输出 十进制表示的结果 ​ 样例输入 2 10 ​ 样例输出 90 ​ 提示 无 代码 #include<iostream> #include<cstdio> #include<algorithm> #include<cstring> #include<cmath> #include<sstream> #include<cstdlib> #include<map> using namespace std; typedef long long ll; double l,r; bool ck(int n,int k) { string ans=""; char pre=' '; do { int t=n%k; if(t>=0&&t<=9) { if(t==0&&pre=='0') return false; ans+=t+'0'; pre=t+'0'; } else ans+=t-10+'a'; n/=k;

基础语法-数据类型

你离开我真会死。 提交于 2019-12-07 09:13:32
/*--> */ /*--> */ /*--> */ /*--> */ /*--> */ /*--> */ 常量 只能赋值一次 let age: Int age = 20 它的值不要求在编译时确定,但使用之前必须赋值一次 var num = 10 num += 20 num += 30 let age2 = num func getAge() -> Int{ return 10 } let age = getAge() print (age ) 常量,变量在使用之前,都不能使用 let age: Int var height : Int print (age ) print (height ) 下面的代码是错误的(没有指明类型) let age age = 20 标识符 标识符(比如常量名,变量名,函数名)几乎可以使用任何字符 标识符不能以数字开头,不能包含空白字符,制表符,箭头灯特殊字符 func 🐂🍺() { print( "666"); } 🐂🍺 () let 👽 = "ET" var 🥛 = "milk" 常见数据类型 值类型:(value type) 1.枚举(enum)Optional 2.结构体(struct)Bool,Int,Float,Double,Character,String, Array,dictionary,Set 引用类型(reference type

从键盘输入一个十进制整型数据,计算并输出其各位上数字之和(忽略正负号)。

二次信任 提交于 2019-12-06 07:58:30
/* 从键盘输入一个十进制整型数据,计算并输出其各位上数字之和(忽略正负号)。 例如,输入1234,输出10;输入-1234,输出10。 */ #include <stdio.h> #include <string.h> #include<math.h> int abs(int n){ if(n>0) return n; return -n; } int main() { int n,sum=0; scanf("%d",&n); n=abs(n); while(n){ sum+=n%10; n/=10; } printf("%d\n",sum); return 0; } 来源: https://www.cnblogs.com/zhaohuan1996/p/11969919.html

计算机网络,数制模型

喜欢而已 提交于 2019-12-06 07:47:36
计算机网络,数制模型 1. 案例 1:数制转换 1 案例1:数制转换 1.1 问题 1)请将下列数字转换为十进制数: (110010011111)2 、(10110101110)2 2)请将下列十进制数转换为二进制: 156、2608、1043 1.2 方案 使用按权展开法将二进制数转换为十进制数,使用短除法除 2取余计算十进制数转换为二进制数。 1.3 步骤 实现此案例需要按照如下步骤进行。 步骤一:二进制转十进制 1)二进制数110010011111,转为十进制的结果是3231,转换过程如下: 1. ( 1100 1001 1111 ) 2 2. = 1x211 + 1x210 +0x29+0x28 + 1x27 +0x26+0x25 + 1x24 + 1x23 + 1x22 + 1x21 + 1x20 3. = 2048+1024+0+0+128+0+0+16+8+4+2+1 4. = 3231 2)二进制数10110101110,转为十进制的结果是1454,转换过程如下: 1. ( 101 1010 1110 ) 2 2. = 1x210 +0x29 + 1x28 + 1x27 +0x26 + 1x25 +0x24 + 1x23 + 1x22 + 1x21 +0x20 3. = 1024+0+256+128+0+32+0+8+4+2+0 4. = 1454 步骤二

递归实现十进制转二进制:输入一个正整数n,将其转换为二进制后输出

那年仲夏 提交于 2019-12-06 04:37:55
话不多说,下面看代码实现 #include <stdio.h> #include <string.h> void dectobin(int n) { if (n == 0) return; else { dectobin(n / 2); printf("%d", n % 2); } } int main() { int n; scanf_s("%d", &n); dectobin(n); return 0; } 欢迎一起讨论哦 来源: https://www.cnblogs.com/gaoyutao/p/11962172.html

ip地址数量的计算

假如想象 提交于 2019-12-06 00:29:32
IP地址数量为2的19次方减2,可用地址范围是10.64.0.1至10.71.255.254。 计算具体事例: IP 192.168.1.1, 子网 255.255.255.0, 十进制255换做二进制就是1111 1111八个1, 十进制192换成二进制是1100 0000。把IP和子网掩码全换成二进制,对比一下, IP:1100 0000 1010 1000 0000 0001 0000 0001, 子网:1111 1111 1111 1111 1111 1111 0000 0000。 后面有八位遇到0的,就是又2的八次方个地址,即256个地址,除去一个网络地址,一个组播地址,就剩254个可用地址。 网络可用地址算法: 把子网有1的上面相对应的数字抄下来得到,遇到子网为0的变0。1100 0000 1010 1000 0000 0001 0000 0000,即得到十进制数字为192.168.1.0,这个地址就是这个网络段的网络地址。 IP地址是一个32位的二进制数,它由网络ID和主机ID两部份组成,用来在网络中唯一的标识的一台计算机。网络ID用来标识计算机所处的网段;主机ID用来标识计算机在网段中的位置。 IP地址通常用4组3位十进制数表示,中间用“.”分隔,比如,192.168.0.1。 来源: https://www.cnblogs.com/123456qq/p

IPv4地址格式

限于喜欢 提交于 2019-12-05 23:57:44
网络互连的一个重要前提条件是要有一个有效的地址结构,并且所有的互连网络用户都应遵守这个地址结构。因为只有这样所有的互连网络用户才能在统一的规定下相互之间通讯。这个地址结构可以有许多不同的形式,可以用二进制表示、十进制表示,甚至用十六进制表示,如:204.71.200.68转为八进制形式可表示为0314.0107.0310.0104,IP地址204.71.200.68转为十六进制形式可表示为0xCC.71.0310.0x44。目前使用的IPv4地址使用32位二进制的地址,即在IPv4的地址空间中有2的32次幂(4,294,967,296,约为43亿)个地址可用。IPv4地址在1981年9月实现标准化,在计算机中用四个八位二进制位组表示,分为网络位和主机位, 为了人们的使用方便,使用十进制地址表示,IP地址中的每个8位位组用0~255之间的一个十进制数表示,数与数之间用点(.)分割,即所谓的点分十进制格式。最小的IPv4地址是0.0.0.0,最大的IPv4地址是255.255.255.255,但这两个值是保留的,没有分配给私人的端系统。因为TCP/IP协议规定全0的地址(无论有多少0)表示本地网络,保留为识别子网自身;32比特全为1的地址用于本网广播,该地址叫做有限广播地址(limited broadcast address)。而主机位全为1的网络地址,叫做直接广播(directed

python3字符串常用方法

自作多情 提交于 2019-12-05 22:55:59
整型和布尔值的转换: bin -- 十进制转二进制 int("1101",2) -- 二进制转十进制 十进制转二进制的算法 除2 取余,获取的所有余数从下往上进行计算 二进制转十进制的算法 从右向左,依次乘以2的次方 1101 1* 2 0 + 0 * 2 1 + 1*2 2 + 1* 2 3 python2 中有long /获取的是整数 python3 中只有int /获取的是浮点数 字符串的方法: name = "meet" 0123 从左向右 -4-3-2-1 从右向左 索引 通过索引可以精确定位到某个元素 切片: [起始位置:终止位置] 步长: 默认是1,通过步长可以决定方向和查找方式的迈的步子 字符串的方法; upper 全部大写 lower 全部小写 startswith 以什么开头 endswith 以什么结尾 count 统计(计数) strip 脱: 头尾两边端的空格,换行以及制表符, 可以自己指定 split 分割: 以空格,换行以及制表符进行分割,可以自己指定,可以指定切割的次数 replace 替换: 第一个旧的值,第二是个新的值,可以指定替换的次数 is系列: str.isdigit # 判断是不是阿拉伯数字 str.isdecimal # 判断是不是十进制数 str.isalnum # 判断是不是字母,数字,汉字 str.isalpha #

IPv4

孤街浪徒 提交于 2019-12-05 22:55:35
一. IPv4地址格式 网络互连的一个重要前提条件是要有一个有效的地址结构,并且所有的互连网络用户都应遵守这个地址结构。因为只有这样所有的互连网络用户才能在统一的规定下相互之间通讯。这个地址结构可以有许多不同的形式,可以用二进制表示、十进制表示,甚至用十六进制表示,如:204.71.200.68转为八进制形式可表示为0314.0107.0310.0104,IP地址204.71.200.68转为十六进制形式可表示为0xCC.71.0310.0x44。目前使用的IPv4地址使用32位二进制的地址,即在IPv4的地址空间中有2的32次幂(4,294,967,296,约为43亿)个地址可用。IPv4地址在1981年9月实现标准化,在计算机中用四个八位二进制位组表示,分为网络位和主机位, 为了人们的使用方便,使用十进制地址表示,IP地址中的每个8位位组用0~255之间的一个十进制数表示,数与数之间用点(.)分割,即所谓的点分十进制格式。最小的IPv4地址是0.0.0.0,最大的IPv4地址是255.255.255.255,但这两个值是保留的,没有分配给私人的端系统。因为TCP/IP协议规定全0的地址(无论有多少0)表示本地网络,保留为识别子网自身;32比特全为1的地址用于本网广播,该地址叫做有限广播地址(limited broadcast address)。而主机位全为1的网络地址