-
2018-09-07 16:51:39
大部分进制都是以10为一个阶段。
一般生活中我们常用十进制即满十进一,即0+1=1,1+1=2,而9+1=10往前进了一位。
二进制则是我们看的黑客电影中的10001010010000(这个数等同于十进制的8848),计算方法:0+1还是等于1,而1+1则等于10,相当于1在往上加则向前进一位。
二进制单独的0和1等于十进制单独的0和1,二进制的10则等于十进制的2(满二进一),二进制的11则等于十进制的3,以此类推。八进制也容易理解,便是满八进一,八进制的10就是十进制8,即7+1=10,往下以此类推。
十六进制就比较难一点,因为十六进制已经超过10了。所以,十六进制从十开始用字母代替,即十进制的1—16在十六进制中表现为1、2、3、4、5、6、7、8、9、A、B、C、D、E、F、10。再往下以此类推即可。
python3中的数字默认进制为十进制,即python3默认10=9+1。
在python中二进制用0b加相应数字来表示,8进制用0o加相应数字来表示,16进制用0x加相应数字来表示。即:
#二进制# >>> 0b10 2 >>> 0b11 3 >>> 0b1101 13 #八进制# >>> 0o10 8 >>> 0o11 9 >>> 0o1101 577 #十六进制# >>> 0x10 16 >>> 0x11 17 >>> 0x1101 4353 #十进制# >>> 10 10 >>> 11 11 >>> 1101 1101
在python中二进制、八进制、十六进制、十进制互相转换的方法:
#其他进制转换二进制# >>> bin(2) #十进制转换二进制# '0b10' >>> bin(0o10) #八进制转换二进制# '0b1000' >>> bin(0xf) #十六进制转换二进制# '0b1111' #其他进制转换为八进制# >>> oct(0b101) '0o5' >>> oct(0xf) '0o17' >>> oct(0o123) '0o123' #其他进制转换为十六进制# >>> hex(0o10) '0x8' >>> hex(3) '0x3' >>> hex(0b111) '0x7' #其他进制转换为十进制# >>> int(0o10) 8 >>> int(0xf) 15 >>> int(0b10) 2
更多相关内容 -
在C语言中二进制怎么表示
2021-05-18 09:08:301.4个二进制位可表示多少种状态4个二进制位可表示16种种状态用一个值代表一个状态,那么4个二进制位可以代表 2^4=16 种状态,是排列组合的知识。0000,0001,0010,0011,0100,0101,0110,0111,1000,,1001,1010,1011,1100...1.4个二进制位可表示多少种状态
4个二进制位可表示16种种状态
用一个值代表一个状态,那么4个二进制位可以代表 2^4=16 种状态,是排列组合的知识。
0000,0001,0010,0011,0100,0101,0110,0111,1000,,1001,1010,1011,1100,1101,1110,1111
扩展资料
优点
数字装置简单可靠,所用元件少;
只有两个数码0和1,因此它的每一位数都可用任何具有两个不同稳定状态的元件来表示;
基本运算规则简单,运算操作方便。
缺点
用二进制表示一个数时,位数多。因此实际使用中多采用送入数字系统前用十进制,送入机器后再转换成二进制数,让数字系统进行运算,运算结束后再将二进制转换为十进制供人们阅读。
二进制和十六进制的互相转换比较重要。不过这二者的转换却不用计算,每个C,C++程序员都能做到看见二进制数,直接就能转换为十六进制数,反之亦然。
参考资料:搜狗百科-二进制位
搜狗百科-二进制
2.
4就是0000 0100,-4就是 1000 0100 2进制数分为有符号数和无符号数,有符号数里面才有正负之分。
其中第一位为符号位,1代表负数,0代表正数。 二进制是计算技术中广泛采用的一种数制。
二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”。
二进制数(binaries)是逢2进位的进位制,0、1是基本算符;计算机运算基础采用二进制。电脑的基础是二进制。
在早期设计的常用的进制主要是十进制(因为我们有十个手指,所以十进制是比较合理的选择,用手指可以表示十个数字,0的概念直到很久以后才出现,所以是1-10而不是0-9)。电子计算机出现以后,使用电子管来表示十种状态过于复杂,所以所有的电子计算机中只有两种基本的状态,开和关。
也就是说,电子管的两种状态决定了以电子管为基础的电子计算机采用二进制来表示数字和数据。常用的进制还有8进制和16进制,在电脑科学中,经常会用到16进制,而十进制的使用非常少,这是因为16进制和二进制有天然的联系:4个二进制位可以表示从0到15的数字,这刚好是1个16进制位可以表示的数据,也就是说,将二进制转换成16进制只要每4位进行转换就可以了。
3.4的二进制怎么算啊
二进制四则运算和十进制四则运算原理相同,所不同的是十进制有十个数码,“满十进一”,二进制只有两个数码0和1,“满二进一”。
二进制运算口诀则更为简单。1.加法二进制加法,在同一数位上只有四种情况:0+0=0,0+1=1,1+0=1,1+1=10。
只要按从低位到高位依次运算,“满二进一”,就能很容易地完成加法运算。2.减法二进制减法也和十进制减法类似,先把数位对齐,同一数位不够减时,从高一位借位,“借一当二”。
3.乘法二进制只有两个数码0和1,乘法口诀只有以下几条:0*0=0,0*1=0,1*0=0,1*1=1概括成口诀:零零得零,一零得零,一一得一。二进制乘法算式和十进制写法也一样。
4.除法除法是乘法的逆运算,二进制除法和十进制除法也一样,而且更简单,每一位商数不是0,就是1。
转载请注明出处优创百科网 » 在C语言中二进制怎么表示
-
C语言中的二进制、八进制、十进制、十六进制的表示
2021-11-11 23:18:35//二进制: //由 0 和 1 两个数字组成,使用时必须以0b或0B(不区分大小写)开头 int a1 = 0b11; int a2 = -0b1001; int a3 = 0B10001; printf("十进制输出:a1 = %d, a2 = %d, a3 = %d\n", a1, a2, a3); //...#include <iostream>
int main()
{//二进制:
//由 0 和 1 两个数字组成,使用时必须以0b或0B(不区分大小写)开头
int a1 = 0b11;
int a2 = -0b1001;
int a3 = 0B10001;
printf("十进制输出:a1 = %d, a2 = %d, a3 = %d\n", a1, a2, a3);
//int a4 = 1010;//无前缀0b或者0B,是一个十进制数
//int a5 = 0b3001;//只能是0或者1
//八进制:
//由 0~7 八个数字组成,使用时必须以0开头(注意是数字 0,不是字母 o)
//合法的八进制数
int b1 = 015; //换算成十进制为 13
int b2 = -0101; //换算成十进制为 -65
int b3 = 0177777; //换算成十进制为 65535
printf("十进制输出:b1 = %d, b2 = %d, b3 = %d\n", b1, b2, b3);
printf("八进制输出:b1 = %o, b2 = %o, b3 = %o\n", b1, b2, b3);
//非法的八进制
//int b4 = 256; //无前缀 0,相当于十进制
//int b5 = 03A2; //A不是有效的八进制数字
//十六进制:
//由数字 0~9、字母 A~F 或 a~f(不区分大小写)组成,使用时必须以0x或0X(不区分大小写)开头
//合法的十六进制
int c1 = 0X2A; //换算成十进制为 42
int c2 = -0XA0; //换算成十进制为 -160
int c3 = 0xffff; //换算成十进制为 65535
printf("十进制输出:c1 = %d, c2 = %d, c3 = %d\n", c1, c2, c3);
printf("十六进制输出:c1 = %x, c2 = %X, c3 = %x\n", c1, c2, c3);
//非法的十六进制
//int c4 = 5A; //没有前缀 0X,是一个无效数字
//int c5 = 0X3H; //H不是有效的十六进制数字
}下表是各种进制整数的输出格式。
上表中没有二进制的输出格式,不能使用 printf函数输出二进制数。您可以编写函数把其它进制数字转换成二进制数字,并保存在字符串中,然后在printf 函数中使用%s输出。
-
C语言中的二进制、八进制和十六进制的表示
2020-02-18 17:21:04二进制数、八进制数和十六进制数的表示 一个数字默认就是十进制的,表示一个十进制数字不需要任何特殊的格式。但是,表示一个二进制、八进制或者十六进制数字就不一样了,为了和十进制数字区分开来,必须采用某种...二进制数、八进制数和十六进制数的表示
一个数字默认就是十进制的,表示一个十进制数字不需要任何特殊的格式。但是,表示一个二进制、八进制或者十六进制数字就不一样了,为了和十进制数字区分开来,必须采用某种特殊的写法,具体来说,就是在数字前面加上特定的字符,也就是加前缀。
1 . 二进制
二进制由 0 和 1 两个数字组成,使用时必须以0b或0B(不区分大小写)开头,例如:
//合法的二进制 int a = 0b101; //换算成十进制为 5 int b = -0b110010; //换算成十进制为 -50 int c = 0B100001; //换算成十进制为 33 //非法的二进制 int m = 101010; //无前缀 0B,相当于十进制 int n = 0B410; //4不是有效的二进制数字
注意,标准的C语言并不支持上面的二进制写法,只是有些编译器自己进行了扩展,才支持二进制数字。换句话说,并不是所有的编译器都支持二进制数字,只有一部分编译器支持,并且跟编译器的版本有关系。
2 . 八进制
八进制由 0~7 八个数字组成,使用时必须以0开头(注意是数字 0,不是字母 o),例如:
//合法的八进制数 int a = 015; //换算成十进制为 13 int b = -0101; //换算成十进制为 -65 int c = 0177777; //换算成十进制为 65535 //非法的八进制 int m = 256; //无前缀 0,相当于十进制 int n = 03A2; //A不是有效的八进制数字
3 . 十六进制
十六进制由数字 0~9、字母 A~F 或 a~f(不区分大小写)组成,使用时必须以0x或0X(不区分大小写)开头,例如:
//合法的十六进制 int a = 0X2A; //换算成十进制为 42 int b = -0XA0; //换算成十进制为 -160 int c = 0xffff; //换算成十进制为 65535 //非法的十六进制 int m = 5A; //没有前缀 0X,是一个无效数字 int n = 0X3H; //H不是有效的十六进制数字
4 . 十进制
十进制由 0~9 十个数字组成,没有任何前缀,和我们平时的书写格式一样。
二进制数、八进制数和十六进制数的输出
C语言中常用的整数有 short、int 和 long 三种类型,通过 printf 函数,可以将它们以八进制、十进制和十六进制的形式输出。如何以八进制和十六进制的形式输出,下表列出了不同类型的整数、以不同进制的形式输出时对应的格式控制符:
十六进制数字的表示用到了英文字母,有大小写之分,要在格式控制符中体现出来:
%hx、%x 和 %lx 中的x小写,表明以小写字母的形式输出十六进制数; %hX、%X 和 %lX 中的X大写,表明以大写字母的形式输出十六进制数。
八进制数字和十进制数字不区分大小写,所以格式控制符都用小写形式。
注意,部分编译器支持二进制数字的表示,但是却不能使用 printf 函数输出二进制。当然,通过转换函数可以将其它进制数字转换成二进制数字,并以字符串的形式存储,然后在 printf 函数中使用%s输出即可。
以不同进制的形式输出整数:
#include <stdio.h> int main() { short a = 0b1010110; //二进制数字 int b = 02713; //八进制数字 long c = 0X1DAB83; //十六进制数字 printf("a=%ho, b=%o, c=%lo\n", a, b, c); //以八进制形似输出 printf("a=%hd, b=%d, c=%ld\n", a, b, c); //以十进制形式输出 printf("a=%hx, b=%x, c=%lx\n", a, b, c); //以十六进制形式输出(字母小写) printf("a=%hX, b=%X, c=%lX\n", a, b, c); //以十六进制形式输出(字母大写) return 0; }
运行结果:
a=126, b=2713, c=7325603 a=86, b=1483, c=1944451 a=56, b=5cb, c=1dab83 a=56, b=5CB, c=1DAB83
一个数字不管以何种进制来表示,都能够以任意进制的形式输出。数字在内存中始终以二进制的形式存储,其它进制的数字在存储前都必须转换为二进制形式;同理,一个数字在输出时要进行逆向的转换,也就是从二进制转换为其他进制。
输出时加上前缀
对于如上l例子如果只看输出结果:对于八进制数字,它没法和十进制、十六进制区分,因为八进制、十进制和十六进制都包含 0~7 这几个数字。 对于十进制数字,它没法和十六进制区分,因为十六进制也包含 0~9 这几个数字。如果十进制数字中还不包含 8 和 9,那么也不能和八进制区分了。 对于十六进制数字,如果没有包含 a~f 或者 A~F,那么就无法和十进制区分,如果还不包含 8 和 9,那么也不能和八进制区分了。
区分不同进制数字的一个简单办法就是,在输出时带上特定的前缀。在格式控制符中加上#即可输出前缀,例如 %#x、%#o、%#lX、%#ho 等,请看下面的代码:
#include <stdio.h> int main() { short a = 0b1010110; //二进制数字 int b = 02713; //八进制数字 long c = 0X1DAB83; //十六进制数字 printf("a=%#ho, b=%#o, c=%#lo\n", a, b, c); //以八进制形似输出 printf("a=%hd, b=%d, c=%ld\n", a, b, c); //以十进制形式输出 printf("a=%#hx, b=%#x, c=%#lx\n", a, b, c); //以十六进制形式输出(字母小写) printf("a=%#hX, b=%#X, c=%#lX\n", a, b, c); //以十六进制形式输出(字母大写) return 0; }
运行结果:
a=0126, b=02713, c=07325603 a=86, b=1483, c=1944451 a=0x56, b=0x5cb, c=0x1dab83 a=0X56, b=0X5CB, c=0X1DAB83
十进制数字没有前缀,所以不用加#。
如果感觉不错的话请点赞哟!!!
-
c语言二进制数怎么表示_C语言的二进制数、位和字节
2020-11-22 04:01:31例如2157的千位是2,百位是1,十位是5,个位是7,可以写成:2 x 1000 + 1 x 100 + 5 x 10 + 7 x 1注意,1000是10的立方(即3次幂),100是10的平方(即2次幂),10是10的1次幂,而且10(以及任意正数)的0次幂是1。... -
用二进制数表示从1到100
2019-11-07 10:03:11从0到100用二进制表示分别为: 0=0 1=1 2=10 3=11 4=100 5=101 6=110 7=111 8=1000 9=1001 10=1010 11=1011 12=1100 13=1101 14=1110 15=1111 16=10000 17=10001 18=10010 19=10011 20=10100 ... -
计算机二进制小数点表示法
2021-06-28 09:22:41178.125(1)先把浮点数分别把整数部分和小数部分转换成2进制整数部分用除2取余的方法,求得:10110010小数部分用乘2取整的方法,求得:001合起来即是:10110010.001(2)转换成二进制的浮点数,即把小数点移动到整数位... -
怎么表示一个二进制数?
2021-04-08 10:47:59例:如十的二进制表示方法:10B或(10)2B:二进制 Q:八进制 D:十进制 H:十六进制常见进制的换算:二进制 八进制 十进制 十六进制0000 0 0 00001 1 1 10010 2 2 20011 3 3 30100 4 4 40101 5 5 50110 6 6 60111 7 7... -
新手小白学JAVA 二进制与Java中的二进制
2021-08-13 11:04:17Bin 二进制Binary,简写为B,在Java中的前缀表示为0b Oct 八进制Octal,简写为O,在Java中的前缀表示为0 Des 十进制Decimal,简写为D Hex 十六进制Hexadecimal,简写为H,在Java中的前缀表示为0x 2. 初识二进制 其实... -
C语言中的二进制数、八进制数和十六进制数
2021-05-18 11:59:38C语言中的整数除了可以使用十进制,还可以使用二进制、八进制和十六进制。二进制数、八进制数和十六进制数的表示一个数字默认就是十进制的,表示一个十进制数字不需要任何特殊的格式。但是,表示一个二进制、八进制... -
二进制数表示法
2020-08-08 15:29:16二进制数是数字电路中应用最广泛的一种数值表示方法,在逻辑代数中也经常使用。 1、十进制数 在这种计数进位制中,每一位用0~9十个数字来表示,所以计数基数是十。超过9的数则需用多位数表示,其中低位数和相邻高位... -
数据的二进制表示
2020-02-05 17:07:43数据的二进制表示 文章目录数据的二进制表示基础定义二进制 基础定义 位: IC 电子元件有不同种形状,但是其内部的组成单元称为一个个的引脚。只有直流电压0V 或 5V 两个状态。与 “0” 与“1”的表达不谋而合 字节... -
Java中的二进制
2020-09-19 08:55:34为了说清楚二进制,先说一下我们生活中常用的十进制,十进制看起来很简单,那是因为我们从小接受的就是十进制的教育: 这是一个普通的十进制数,八十三万七千零五十六,这个数字可以表示如下: 再来看看二进制 这... -
计算机二进制的浮点表示法
2021-05-02 10:55:48计算机二进制的浮点表示法 0.1 * 3 != 0.3 组成: 符号位: 0表示正、1表示负; 指数位: 2的n次方,n+127(对于4字节浮点数,此处为127)再换算成二进制; 尾数位: 直接用. 过程: 将整数部分换算成二进制; 小数部分... -
计算机中的二进制小数
2021-07-26 00:17:49前言理解浮点数的第一步是考虑含有小数值的二进制数字十进制小数首先看一下十进制的小数的表示,举例十进制数:12.3412.34 === 1 * 101 + 2 * 100 + 3 * 10-1 + 4 * 10-2 === 12二进制小数类比十进制小数表示形式二... -
浮点数的二进制表示
2017-12-14 22:50:31回想float和double类型数据内存分配情况时, 在阮一峰老师的网络日志中看到一篇关于浮点数的二进制表示的博文, 自己在IDEA上敲出Java代码后发现并没有取得原文的效果(Java对于内存的优化),所以原文转载好了#include ... -
使用二进制来表示数据状态
2020-04-30 14:51:44使用二进制的方式来表示数据状态(支持无顺序状态) 文章目录使用二进制的方式来表示数据状态(支持无顺序状态)1. 背景介绍2. 通过一个案例引发思考2.1 当签章有顺序时,我们是如何设计的?2.2 当签章顺序无法控制... -
C++ 负数的二进制表示
2020-01-17 20:48:585转换成二制是101,不过int类型的数占用4字节(32位),所以前面填了一堆0。 -5在计算机中如何表示? 在计算机中, 正数是直接用原码表示的,如单字节5,在计算机中就表示为:0000 0101。 负数以其正值的补码形式... -
1到100的二进制表示
2017-02-24 15:21:101=1 2=10 3=11 4=100 5=101 6=110 7=111 8=1000 9=1001 10=1010 11=1011 12=1100 13=1101 14=1110 15=1111 16=10000 17=10001 18=10010 19=10011 20=10100 21=10101 22=10110 23=10111 24=11 -
二进制计算
2021-07-21 05:31:49虽然很早就接触了二进制,却一直没有正视这个问题,阅读《计算机科学导论》的时候,基本上是跳过了这一部分,总是以“这么基础的东西,反正工作中基本用不上”的理由给搪塞过去。最近正在阅读《编码》和《程序员的... -
关于二进制的次幂表示
2018-02-25 21:33:09将这种2进制表示写成2的次幂的和的形式,令次幂高的排在前面,可得到如下表达式:137=2^7+2^3+2^0 现在约定幂次用括号来表示,即a^b表示为a(b) 此时,137可表示为:2(7)+2(3)+2(0) 进... -
二进制ASCII码
2021-07-25 08:24:43而2位二进制数可以表示(2=)4种状态:00、01、10、11;依次类推,7位二进制数可以表示(2=)128种状态,每种状态都唯一地编为一个7位的二进制码,对应一个字符(或控制码),这些码可以排列成一个十进制序号0~127。所以... -
小数的二进制和十六进制表示
2021-03-27 15:34:08今天在研究生复试面试的过程中被问到小数的二进制和十六进制形式怎么表示,然而这个知识点已经记不得了,只能尴尬的和老师说这个知识点没有掌握好,回去会继续学习。不过最后的成绩还不错,复试第三,回去查了下小数... -
计算机中采用二进制编码的原因是什么
2021-07-10 01:38:01话题:计算机中采用二进制编码的原因是什么回答:计算机采用二进制的原因 (1)技术实现简单,计算机是由逻辑电路组成,逻辑电路通常只有两个状态,开关的接通与断开,这两种状态正好可以用“1”和“0”表示。 (2)简化运算... -
-128的二进制怎么表示
2019-03-28 14:51:08-128的二进制表示 今天看到8位2进制表示的范围是-128-127。原来没有想过为什么是这个范围,仔细一想,奇怪呀,-128是怎么表示的。127是1111 1111,而-128为什么是1000 0000呢,这不是-0吗... -
在计算机内部,8位带符号二进制整数可表示的十进制的最大值是
2021-07-26 02:10:47在计算机内部,8位带符号二进制整数可表示的十进制的最大值是127。二进制的“00101000”直接可以转换成16进制的“28”。字节是电脑中的基本存储单位,根据计算机字长的不同,字具有不同的位数,现代电脑的字长一般是... -
算法:计算十进制数字在二进制表示1的个数
2020-01-21 00:10:00题目:程序读入一个整数 n,假设 n 不会大于 1000,请输出 1 到 n 每个数字的二进制表示 1 的个数。 -
浮点数(小数)在计算机中如何用二进制存储?
2020-08-28 22:39:12浮点数在计算机中如何用二进制存储? 前言 前面我有篇博文详解了二进制数,以及如何同二进制数表示整数。但是,计算机处理的不仅仅是整数,还有小数,同样小数在计算机也是用二进制进行存储的,但是,二进制如何去... -
C语言中负数在计算机内部的二进制表示方式(以补码表示负数、整数的范围及所占字节数)
2020-06-15 15:41:39整数在计算机内部的表达 众所周知 在计算机的内部 ...事实上 在计算机中 二进制使用的是补码的方式来表示负数 补码 即为二进制中的11111111(请注意 并不是作为纯二进制 而是补码 若是纯二进制那么就是255了) 由于十进