假设十进制数为1000,则八进制数位1750,过程如下:
1000/8=125,余数为0;
125/8=15,余数为5;
15/8=1,余数为7;
1/8=0,余数为1;
你从下往上看这些余数,顺序写出,就是答案1750,要注意的是最后一定要除到0为止,也就是最后一步1/8=0,一定要除到0.
再示范一个数,比如十进制的534,八进制为1026,过程为:
534/8=66,余数为6;
66/8=8,余数为2;
8/8=1,余数为0;
1/8=0,余数为1;
仍然是从下往上看这些余数,顺序写出,答案为1026
你可以自己归纳一下,大进制数转小进制数都可以用这个方法,比如十六进制转10进制,如果你不知道答案,可以用windows自带的计算器来验证,要用科学型的(在计算器——查看——科学型)
如果是八进制转十进制的,可以用下述方法:
还是上面的例子1026八进制转十进制
1*8^3+0*8^2+2*8^1+6*8^0=534 (8^3指的是8的立方)
上式各项的意义:1*8^3中的1是1026的千位;八进制时,第二个数为8;3是指4-1,这个4是指1026是4位数。
0*8^2意义同上。0是1026的百位;八进制时,第二个数为8;2是指4-2(8后面的指数是递减的形式)。
一直写到8^0一项即可。
所以求AnAn-1……A1八进制的n位数转十进制时(比如八进制的1026,对应的A4=1,A3=0,A2=2,A1=6),总结出公式为:
An*8^n+An-1*8^(n-1)+An-2*8^(n-2)+……+A1*8^0=对应的十进制数
所以小进制数转大进制数都可以用这个方法。
-
十进制转八进制方法与过程以及例题解法
2012-05-27 15:08:24假设十进制数为1000,则八进制数位1750,过程如下: 1000/8=125,余数为0; 125/8=15,余数为5; 15/8=1,余数为7; 1/8=0,余数为1; 你从下往上看这些余数,顺序写出,就是答案1750,要注意的是最后一定要除到0为止,...转载于:https://blog.51cto.com/2614223/880043
-
python二进制反码例题_python二进制 八进制 十六进制 进制转换问题 源码反码补码的问题 位运算符的使用...
2020-12-10 19:22:021,进制转换问题1,0b 表示二进制 0 12,0o 表示八进制 0 1 2 3 4 5 6 73,0x 表示十六进制 0 1 2 3 4 5 6 7 8 9 a b c d e f十进制转为其他进制num = 100v1 = bin(num) # 此函数是将十进制转换为二进制print(type...1,进制转换问题
1,0b 表示二进制 0 1
2,0o 表示八进制 0 1 2 3 4 5 6 7
3,0x 表示十六进制 0 1 2 3 4 5 6 7 8 9 a b c d e f
十进制转为其他进制
num = 100
v1 = bin(num) # 此函数是将十进制转换为二进制
print(type(v1))
print(v1)
运行结果为:
0b1100100
num = 100
v2 = oct(num)# 此函数是将十进制转换为八进制
print(type(v2))
print(v2)
运行结果为:
0o144
num = 100
v3 = hex(num)# 此函数是将十进制转换为十六进制
print(type(v3))
print(v3)
运行结果为:
0x64
其他进制转为十进制
将16进制的字符串转换为十进制
v4 = int("0x64", 16)
print(v4)
结果为:
100
将二进制的字符串转换为十进制
v4 = int("0b1100100", 2)
print(v4)
将8进制的字符串转换为十进制
v4 = int("0o144", 8)
print(v4)
**
2,源码补码反码问题
**
计算机是怎么计算 1 - 1 = 0 的?
实际上计算机的计算方式是 1 + -1 = 0
1的二进制是 0000 0001
-1的二进制是1000 0001 (计算机用最高位表示符号位)
正数情况下:
源码 = 反码 = 补码
负数情况下:
源码 -1 的表示为: 1000 0001
反码 -1 的表示为: 1111 1110 (源码除符号位之外,所有位数取反)
补码 -1 的表示为: 1111 1111 (补码即为 反码加数字1 即 1111 1110 加:0000 0001)
正1的补码为 0000 0001
负1的补码为 1111 1111
二者相加的结果为 1000 0000 符号位的 1 忽略不计
补码转为源码:
补码取反 再加 数字1
-1的补码取反之后为 1000 0000 再加 0000 0001 结果为 1000 0001
**
3,位运算符的使用
**
1, 位运算符 是把数字看做二进制来计算。
2,使用bin()函数可以把数字转换成二进制表示
变量 a 为60,变量b 为13,其二进制的的格式如下
>>> a=60
>>> bin(a)
'0b111100'
>>> b=13
>>> bin(b)
'0b1101'
Windows IDLE环境下示例代码如下:
>>> a=60
>>> b=13
>>> c=(a&b) #60的二进制为 0b111100
>>> bin(c) #13的二进制为 0b1101
'0b1100'
>>> c
12
>>> d=(a|b)#60的二进制为 0b111100
>>> bin(d)#13的二进制为 0b1101
'0b111101'
>>> d
61
>>> e=(a^b)#60的二进制为 0b111100
>>> bin(e)#13的二进制为 0b1101
'0b110001'
>>> e
49
>>> ~a
-61
>>> bin(~a)
'-0b111101'
另外,对同一个数字,异或两次能够得到它本身
a=5
b=10
a=a^b
print(a)
a=a^b
print(a)
运行结果为:
15
5
print(~5) # 对数字5取反之后的运行结果为 -6
5的源码为:0000 0101
取反~ 之后得到的是 补码 1111 1010 第一个数字 1 代表负数
然后再从补码 转换为源码:步骤是对补码取反 再加 数字1
补码取反之后为 1000 0101 再加数字1之后 最后的源码为 1000 0110 即十进制数字为-6
<< 代表左移运算符
>> 代表右移运算符
示例代码如下
a<
>>> a=8
>>> a<<1#代表 a乘以2的一次方
16
>>> a<<2#代表 a乘以2的二次方
32
>>> a<<4#代表 a乘以2的四次方
128
a>>n 即a右移n位 计算公式为 a// 2^n a除以2的n次幂 取整数
>>> a=60
>>> a>>1代表 a除以2的一次方
30
>>> a>>2代表a 除以2的二次方
15
>>> a>>4代表a 除以2的四次方 然后取整数
3
-
关于写二进制转十进制程序的一些
2018-06-10 22:06:09看B站郑莉老师的视频,到第三章的时候有一个例题:将一个8位的二进制数字转换成十进制数字在写的过程中遇到了一些问题,解决之后现总结如下:<textarea readonly=”readonly” name=”code” class=”c++”&...看B站郑莉老师的视频,到第三章的时候有一个例题:将一个8位的二进制数字转换成十进制数字
在写的过程中遇到了一些问题,解决之后现总结如下:
<textarea readonly="readonly" name="code" class="c++"> #include <iostream> #include <string> using namespace std; int power (int insertion, int n) { int result = 1; while (n > 0) { result = result * insertion; n--; } return result; } int main() { string insertion; cout<<"Please insert a 8 bit binary number: "<<endl; cin>> insertion; int result = 0; for(int i = 7; i>=0; i--) { if (insertion[i] == '1') { result = result + power(2, i) ; //cout<<power(2,i)<<endl; } } cout<<"The result is: "<< result<<endl; } </textarea>
一开始的时候,if (insertion[i] == '1') 这一句,使用双引号的,总是报错, 报错为:
error: comparison between pointer and integer ('int'
and 'const char *')
经过搜索发现,当为一个字符的时候应为单引号,当为一个字符串的时候,则用双引号
-
计算机进制问题---八进制转换为十进制数
2009-09-25 15:53:00-------------------------------------典型例题 28:计算机进制问题---八进制转换为十进制数------------------------------------...-------------------------------------
典型例题 28:计算机进制问题---八进制转换为十进制数
-------------------------------------
1 #include <stdio.h>
2
3
4 int oct2dec(int A8)
5 {
6 int a=A8,r=1,a10=0;
7
8 while(a!=0)
9 {
10 a10+=(a%10)*r;
11 a/=10;
12 r*=8;
13 }
14
15 return a10;
16 }
17
18 int oct2dec1(char* A8)
19 {
20 char* a=A8, *ptr;
21 int r=1,a10=0;
22 ptr=a;
23 while(*ptr!='/0') ptr++;
24 ptr--;
25 while(ptr!=a)
26 {
27 a10 += (*ptr-'0')*r;
28 r*=8;
29 ptr--;
30 }
31
32 return a10;
33 }
34
35 int main ()
36 {
37 char a8[11]="0100";
38 printf(" Please input a octet number. /n ");
39 printf("(Be sure the number you input is begin with a '0')/n");
40 printf("%s/n",a8);
41 printf("%d/n",oct2dec1(a8));
42 printf("%d/n",oct2dec(100));
43 return 0;
44 }
--------------------------
haiping@ubuntu:~/program/wg0730$ ./a.out
Please input a octet number.
(Be sure the number you input is begin with a '0')
0100
64
64
---------------------------
知识点:八进制的知识;
(1)方法一中,把一个int类型数假想成八进制,然后通过八进制转化成实际的十进制数;
(2)方法二中,把八进制当着一个数值串来处理!然后转化成十进制数; -
2017级公共课 计算机应用 第二次作业 十进制 二进制 十六进制 八进制
2018-01-01 00:38:22十进制的数码:0~9,一共10个数码 二进制 :0~1 一共2个数码 八进制 :0~7 一共8个数码 十六进制: 0~9 A~F 对照表 数字的第一位是0,有意义吗?00000000111 00100元钱 100元钱 10000 例题1.1 二进制数(101.101)2 转... -
进制转换的简单运算
2018-06-02 12:16:53常见的进制转换就是十进制、二进制、八进制、十六进制之间的转换,那么如果给你一个等式,让你判断在哪种进制下该等式成立?这类型的题该怎么求解。接下来通过两个例题讲解一下:例1. 如果等式 15*4=112 成立,那么... -
java十六进制阿斯玛_什么是计算机的数制-计算机中二进制、八进制、十进制、十六进制之间是怎么转换的计算机...
2021-03-17 21:25:2510进制转换成其他的都是除以要转换成的那个数,也就是说转换成二进制的就除以2,转换成八进制的就除以8,转换成十六进制的就除以16,然后倒取余数。具体例题如下10---2:把20转换成二进制20/2=10。。。。。。。。。... -
进制的转换
2020-08-05 10:12:20那我们先来看一下八进制的13如何转十进制: 八进制的14转为十进制: 八进制的204转为十进制: 所以可得: 11 x12=132 由此可知该题选A。 那么正确的做法应该是怎么样的呢? 首先我们可以假设这个式子现在是x进制 ... -
C语言编程>第二十七周 ⑥ 下列给定程序中,函数fun的功能是:将十进制正整数n转换成i(2≤i≤9)进制数,并...
2021-01-28 08:46:17例题:下列给定程序中,函数fun的功能是:将十进制正整数n转换成i(2≤i≤9)进制数,并按位输出。 例如,若输入8和2,则应输出1000(即十进制数8转换成二进制表示是1000)。 注意:不要改动main函数,不能增行或删行... -
2,8,10,16进制之间的转换
2019-10-06 11:33:03我们常用的进制是“十进制”,就是我们日常所说的逢十进一位,类比1+9=10(很简单) 类比十进制二进制i则是逢而进以也就是1+1=10 , 1+1+1=11,1+1+1+1=100, 1+1+1+1+1=101,1+1+1+1+1+1=110. 我们正常是用的数据... -
8421快速转换法 2、10、16进制快速转换
2020-04-29 15:38:12例题:二进制100101001转十进制 100101001等同2^8+2^5+2^3+2^0等同256+32+8+1=297 解析心算步骤 第一步挑出里面所有的1, 熟练记住2的各个次方的值 从左边开始选中第一个1,计算1后面的位数。(如第一个1后面有8... -
经典例题:判断一个数的二进制中1的个数;
2019-01-11 15:16:161.按照常规的十进制与二进制转换计算来说,例如一个数60; 给定一个计数器count,60里包含2的次方最大是2^5=32,count+1;剩下的数为60-32=28,28包含最大的2的次方是2^4=16,count+1;剩下的数为28-16=12,12包含2的... -
Java基础——常量与变量&进制转换法&GBK编码环境下如何编译utf-8编码的文件
2020-03-31 22:44:338编码的文件常量字面值常量在代码中输出不同的常量进制法(仔细总结进制换算法)进制转换任意进制到10进制(位权展开法)十进制到任意进制原码,反码,补码(计算机底层在运算时是通过补码运算的)例题变量数据类型.... -
技巧----任意进制之间的转化
2019-08-15 16:57:15任意进制转化思想: 10进制和其他进制数之间的转换,那么我们以10进制为媒介,进行相应的转换,举个...即 将8进制x转为2进制,我只需要将x先转为10进制y,然后再10进制y转为2进制z 例题: 输入: 输入格式:测试输入... -
数制转换
2017-11-25 10:48:38数制转换 1.十进制与二进制数据相互转换 ...下面以一个例题介绍十进制转换为二进制。 查看例题 2.其他进制数据转换 表 进制数转换 进制数转换 说明 案例 八进制到二进制 因为23=8,故 -
软考笔记——数据的表示
2021-03-27 11:06:05第一章 计算机组成与体系——数据的表示 ...2、十进制转R进制(短除法) 例题: 3、二进制转八进制转十六进制 例题: 二、码制 码有8位,8位中的最高位叫符号码,0表示正数,1表示负数 三、浮点数的运算 ... -
集合与泛型典型例题
2019-09-30 06:31:56数制转换问题是将任意一个非负的十进制数转换为其它进制的数,这是计算机实现计算的基本问题。其一般的解决方法的利用辗转相除法。以将一个十进制数N转换为八进制数为例进行说明。假设N=5142,示例图: N N/8... -
C语言程序设计·数据类型(例题和知识点)
2021-02-08 14:11:341.假设有变量赋值语句x=10,常量10的类型为short 2.假设有变量赋值语句x=...7.十进制数转二进制数的方法是:除二取余倒排序 8.C语言的基本数据类型包括:整型、实型、字符型 9.4个二进制位用于存储整数(可正可负), -
C语言课
2015-10-13 17:36:421.注释 单行注释://表示; 多行注释:/* */表示;... 十进制转x进制,连除倒取余数。 例题:035转换为十进制 063=6*8^1+3*8^0=51 100转换为二进制: 2|100 0 2|50 0 2|25 1 2|12 0 2| -
C语言经典例题100道
2011-01-10 13:14:03八进制转换为十进制 83.求0-7所能组成的奇数个数 84.由两个素数之和表示的偶数 85.判断一个素数能被几个9整除 86.两个字符串连接程序 87.结构体变量传递 88.读取数字的整数值并打印出该值个数的* 89.数据加密 90.... -
学习单片机的第19天——A/D转换之模拟电压变化显示实验
2020-03-27 20:51:27例题:用单片机控制ADC0804进行模数转换,当拧动实验板上A/D旁边的电位器Re2时,在数码管的前三位以十进制方式动态显示出A/D转换后的数字量(8位A/D转换后数值在0~255变化)。 #include <reg52.h> #include <... -
在有限域GF(2^n)下求多项式乘法 Python代码实现
2020-06-09 17:08:18#在有限域GF(2^n)下求多项式乘法 Python代码实现 一、了解运算规则 二、例题展示 三、直接上代码(代码有详细备注,不做一一解释) def yxydxscf(a,b,c): # 不可约多项式系数模二运算 ... # 二进制转十进制 d = -
C++中char类型只能存取一个字符,输入一串字符时挨个儿读取
2020-03-27 23:48:36例题:输入8位二进制位,转换成十进制并输出结果。 #include <iostream> using namespace std; double pow(double x,int y); int main(){ int i; char n; double s=0; cout<<"please enter an 8 ... -
页式地址变换——虚地址的计算方法(手写笔记)(操作系统题目解析)
2020-08-18 18:46:26先来看看网上的一道例题(其实网上有解析,但我第一遍没反应过来……所以把现在的理解写下来,...题目有两种出题的方式,一种是给你的虚地址不是十进制,可能是十六进制,八进制等,就比如上面的这题 题目给出的虚拟地 -
C语言程序设计标准教程
2009-05-22 18:29:14十六进制长整常数 0X15L (十进制为21) 0XA5L (十进制为165) 0X10000L (十进制为65536) 长整数158L和基本整常数158 在数值上并无区别。但对158L,因为是长整型量,C编译系统将为它分配4个字节存储空间。而对... -
汇编语言程序设计.林邦杰.陈明
2011-09-14 18:24:487-6 BCD十进制数运算 7-6-1 BCD加法 7-6-2 BCD减法 7-6-3 BCD乘法 7-6-4 BCD除法 7-6-5 BCD宏应用 7-7 综合例题 课后习题 第8章 宏 8-1 单行宏 8-1-1 %define指令 8-1-2 %undef指令 8-1-3 %assign指令 8-2 多行宏 8-... -
程序设计基础(C) 视频.txt
2019-05-25 10:23:244.6编程实例——二进制与十进制的转换94 本章小结95 习题95 第5章程序结构100 5.1全局变量与局部变量100 5.1.1全局变量100 5.1.2局部变量101 5.2静态变量102 5.3存储类型103 5.4作用域与生存期104 5.4.1作用域104 ... -
精易模块[源码] V5.15
2015-03-21 22:03:374、修正“IP_10进制转IP”与“IP_16进制转IP”命令反向的问题,感谢易友[@humanbean ]反馈。 5、改善“网页_访问”死循环代码,感谢易友[@67564226]反馈。 6、优化“文本_取随机数字”精简代码,提高执行效率,感谢...