11111111用10进制表示为-127的具体过程

8进制,一般有什么用,查了下资料,还真不知道?有知道的大神告诉我吧。

个数字1为符号位,表示十进制数字的负号

11111111转十进制 11111111转十进制的真值11111111转十进制 11111111转十进制的真值


11111111转十进制 11111111转十进制的真值


6拆分成 110

剩下的7个1转换过来为

1×2^6+1×2^5+1×2^4+1×2^3+1×2^2+1×2^1+1×2^0

=64+32+16+比如:2456 转化成八进制数字:46308+4+2+1

=127

因此11111111表示10进制的-127

计算机二进制,十进制,八进制,十六进制怎么转换

123+022+121+120=8+0+2+1=11。

二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”,由18世纪德国数理哲学莱布尼兹发现。当前的计算机系统使用的基本上是二进制系统,数据在计算机中主要是以补码的形式存储的。计算机中的二进制则是一个非常微小的开关,用“开”来表示1,“关”来表示0。

11111111 11111111 11111111 11111010 + 1 = 11111111 11111111 11111111 11111011

.信息的存储单位

位(Bit) :度量数据的最小单位

字节(Byte):最常用的基本单位,一个字节有8位

b7 b6 b5 b4 b3 b2 b1 b0

1 0 0 1 0 1 0 1 =27+24+22+20=149

K字节 1k=1024 byte

M(兆)字节 1M=1024K

G(吉)字节 1G=1024M

2.十进1000+200+30+4=1103+2102+3101+4100=1234制转换

1234[10进制] 0 1 2 3 4 5 6 7 8 9 0 当数位上的值超过9就要进1

1011[2进制] 0 1 当数位上的值超过1就要进1

123+022+121+120=8+0+2+1=11

1011[8进制]0 1 2 3 4 5 6 7 当数位上的值超过7就要进1

183+181+180=512+8+1=521

1011[16进制]0 1 2 3 4 5 6 7 8 9 A B C D E F 当数位上的值超过15就要进1

1163+1161+1160=4096+16+1=4113

3.二进制转换

首先来看十进制到二进制:除2取余数 把余数倒过来 100101

比如:十进制数37

所以转换成的二进制数字为:100101

再来八进制到二进制:一个八进制的位拆分成一个三位的二进制数

比如:[八进制]616

1拆分成 001

所以转换成的二进制数字为:110001110

再来十六进制到二进制:一个八进制的位拆分成一个四位的二进制数

比如:[十六进制]616

1拆分成 0001

所以转换成的二进制数字为:11000010110

4.八进制转换

十进制到八进制:除8取余数 把余数倒过来

2456/8=307,余0;

二进制到八进制转换 7=4+2+1 111 八进制的数字是7转换成二进制刚好是111,占3个位

每三个二进制数为一组,转成一个八进制数位,如果二进制高位不足3位时,用零填补。

比如:10011011

010 011 011

2 3 3

3BC24

连起来就是:

再按照每三个一组分组:

0__3__5__7__0__4

6.十六进制转换

十进制到十六进制:除16倒着取余数

同时我们也可以先将十进制转换成二进制,然后将二进制又转换成十六进制

比如说:1610转换成十六进制

直接转16进制:

故:1610(10)=64A(16).

二进制到十六进制 15=8+4+2+1 1111 十六进制数字是F,即15转换成二进制1111,刚好占4个位

每四个二进制数为一组,转成一个十六进制数位,如果二进制高位不足3位时,用零填补。

比如:1110011011

0011 1001 1011

因此二进制的 1110011011转换为十六进制39B

八进制到十六进制

我们可以先把八进制的数字转换成二进制,在从二进制转换成十六进制

转换为二进制是每个数字转换为三位二进制:001 010 011 100 101 110 111

然后把这些数字从右边开始进行按四位分组:0 0101 0011 1001 0111 0111

然后从右边每四位组依次对应一个16进制数:053977

7.各种进制的用途

说了这么多,这些进制都有些什么用了,大家一起讨论下吧!!!

10进制,当然是便于我们人类来使用,我们从小的习惯就是使用十进制,这个毋庸置疑。

2进制,是供计算机使用的,1,0代表开和关,有和无,机器只认识2进制。

16进制,内存地址空间是用16进制的数据表示, 如0x8049324。

比如:int a = 100,b = 99;

不过,由于数据在计算机中的表示,最终以二进制的形式存在,所以有时候使用二进制,可以更直观地解决 问题。但二进制数太长了。比如int 类型占用4个字节,32位。比如100,用int类型的二进制数表达将是:

1.用于计算机领域的一种重要的数制

3.十六进制更简短,因为换算的时候一位16进制数可以顶4位2进制数。

如果你用过linux你可能见过这样表示一个文件的权限:0777、0666等等

将负数转换为二进制

比如,设有一 int 类型的数,值为5,那么,我们知道它在计算机中表示为:

00000000 00000000 00000000 00000101

5转换成二制是101,不过int类型的数占用4字节(32位),所以前面填了一堆0。

现在想知道,-5在计算机中如何表示?

在计算机中,负数以其正值的补码形式表达。

什么叫补码呢?这得从原码,反码说起。

原码:一个整数,按照大小转换成的二进制数,称为原码。

比如 00000000 00000000 00000000 00000101 是 5的 原码。

反码:将二进制数按位取反,所得的新二进制数称为原二进制数的反码。

取反作指:原为1,得0;原为0,得1。(1变0; 0变1)

比如:将00000000 00000000 00000000 00000101每一位取反,得11111111 11111111 11111111 11111010。

称:11111111 11111111 11111111 11111010 是 00000000 00000000 00000000 00000101 的反码。

11111111 11111111 11111111 11111010 和 00000000 00000000 00000000 00000101 互为反码。

补码:反码加1称为补码。

也就是说,要得到一个数的补码,先得到反码,然后将反码加上1,所得数称为补码。

比如:00000000 00000000 00000000 00000101 的反码是:11111111 11111111 11111111 11111010。

那么,补码为:

所以,-5 在计算机中表达为:11111111 11111111 11111111 11111011。转换为十六进制:0xFFFFFFFB。

再举一例,我们来看整数-1在计算机中如何表示。

设这也是一个int类型,那么:

1、先取1的原码:00000000 00000000 00000000 00000001

3、得补码: 11111111 11111111 11111111 11111111

可见,-1在计算机里用二进制表达就是全1。16进制为:0xFFFFFF

一个字节等于8位,二进制8位的数11111111,而11111111用十进制表示就是255.所以1个字节可以表达的的数是255,也就是说表示

0~255这256个数

Ja中的移位,如果是short,char,byte的话,都会转换成int的形式再进行移位的。

byte b = -1;// 转换成int为 11111111 11111111 11111111 11111111

int g = a >> 1;// 有符号右移1位,左侧缺的位以符号位补齐,正数就是0,"00000000 00000000 00000000 00001101" = 13

int f = b >> 1;// 有符号右移1位,左侧缺的位以符号位补齐,负数就是1,"11111111 11111111 11111111 11111111"= -1

故此时打印出来,g=13,gf=-1。

g = a >>> 1;// 无符号右移1位,左侧缺的位以0补齐,"00000000 00000000 00000000 00001101" = 13

f = b >>> 1;// 无符号右移1位,左侧缺的位以0补齐,"01111111 11111111 11111111 11111111" = 2147483647

故此时打印出来,g=13,gf=2147483647。

101111101011110000011111111

f = b << 1;// 无符号左移1位,右侧缺的位以0补齐,"10000000 00000000 00000000 00000010" = -2

故此时打印出来,f= -2

在Thinking in Ja第三章中的一段话:

移位运算符面向的运算对象也是

二进制的“位”。可单独用它们处理整数类型(主类型的一种)。左移位运算符(<<)能将运算符左边的运算对象向左移动运算符右侧指定的位数(在低位补0)。 “有符号”右移位运算符(>>)则将运算符左边的运算对象向右移动运算符右侧指定的位数。“有符号”右移位运算符使用了“符号扩展”:若值为正,则在高位插入0;若值为负,则在高位插入1。Ja也添加了一种“无符号”右移位运算符(>>>),它使用了“零扩展”:无论正负,都在高位插入0。这一运算符是C或C++没有的。

1111111111111111111111111111111111111111111111111111111111111111

1011100110000100111111100010101011000111000111000111000111000111

这个有个简便方法就是打开电脑开始附件的计算器,查看改成科学型就可以轻松的转换了

十进制转换:

1234[10进制] 0 1 2 3 4 5 6 7 8 9 0 当数位上的值超过9就要进1

1000+200+30+4=1103+2102+3101+4100=1234。

21011[2进制] 0 1 当数位上的值超过1就要进1

1011[8进制]0 1 2 3 4 5 6 7 当数位上的值超过7就要进1

183+181+180=512+8+1=521。

1011[16进制]0 1 2 3 4 5 6 7 8 9 A B C D E F 当数位上的值超过15就要进1

1163+1161+1160=4096+16+1=4113。

二进制转换:

1、十进制到二进制:除2取余数 把余数倒过来 100101

比如:十进制数37

所以转换成的二进制数字为:100101

2、八进制到二进制:一个八进制的位拆分成一个三位的二进制数

比如:[八进制]616

1拆分成 001

所以转换成的二进制数字为:110001110

3、十六进制到二进制:一个八进制的位拆分成一个四位的二进制数

比如:[十六进制]616

1拆分成 0001

所以转换成的二进制数字为:11000010110

八进制转换:

2456/8=307,余0;

2、二进制到八进制转换 7=4+2+1 111 八进制的数字是7转换成二进制刚好是111,占3个位

每三个二进制数为一组,转成一个八进制数位,如果二进制高位不足3位时,用零填补。

比如:10011011

010 011 011

2 3 3

十六进制转换:

1、十进制到十六进制:除16倒着取余数

同时我们也可以先将十进制转换成二进制,然后将二进制又转换成十六进制

比如说:1610转换成十六进制

直接转16进制:

故:1610(10)=64A(16).

2、二进制到十六进制 15=8+4+2+1 1111 十六进制数字是F,即15转换成二进制1111,刚好占4个位

每四个二进制数为一组,转成一个十六进制数位,如果二进制高位不足3位时,用零填补。

比如:1110011011

0011 1001 1011

因此二进制的 1110011011转换为十六进制39B

10进制,当然是便于我们人类来使用,我们从小的习惯就是使用十进制,这个毋庸置疑。

16进制,内存地址空间是用16进制的数据表示, 如0x8049324。

比如:int a = 100,b = 99;

不过,由于数据在计算机中的表示,最终以二进制的形式存在,所以有时候使用二进制,可以更直观地解决 问题。但二进制数太长了。比如int 类型占用4个字节,32位。比如100,用int类型的二进制数表达将是:

参考资料:

进制转换,仅仅是把做“进制转换”,正负号,不可变动。

如:-617(十进制)

=-10 0110 1001(二进制)

=-1151(八进制)

=-269(十六进制)

二进制111...1转化为十进制

编程中,我们常用的还是10因此二进制的10011011转换为八进制结果为233。进制。

2^n - 1 如有N个同时我们也可以先将十进制转换成二进制,然后将二进制又转换成八进制1

用带符号位定点补码表示纯小数,8位编码11111111表示十进制真值是( ) 。

3 9 B

【拓展资料:】:D

在计算机机器数编码中,8位定点纯小数格式为:b0b-1b-2b-3b-4b-5b-6b-7。并且,b0为符号位,小数点就在其后。故采用8位字长用定点补码表示纯小数,编码11111111所表示十进制数是一个负数,其为00因此二进制的10011011转换为八进制结果为233。000001。因此该数应为-2-7。

二进制,十进制,十六进制转换

2.对计算机理论的描述,计算机硬件电路的设计都是很有益的。比如逻辑电路设计中,既要考虑功能的完备,还要考虑用尽可能少的硬件,十六进制就能起到一些理论分析的作用。比如四位二进制电路,最多就是十六种状态,也就是一种十六进制形式,只有这十六种状态都被用上如8位:0~255 (8个位都表示数值了,2^8-1)。了或者尽可能多的被用上,硬件资源才发挥了尽可能大的作用。

二进制,十进制,十六进制转换具体如下:

5. 十六进制到八进制

一、2进制转换为16进制:

把二进制数从低位到高位每4位组成一组,直接用16进制数来表示即可,例如0011010110111111,35BF。这里很好拼凑,1,2,4,8权相对应的位置只要是1,咱们加起来就可以了。

个末尾俩1(1+2=3),接着(1+4=5),接着(1+2+8=B)(1+2+4+8=F),记住1,2,4,8的顺序就好了。所以0011010110111111B=35BFH。

注意:十六进制数以H为后缀,十进制D,八进制O,二进制B,这里的末尾B和H是强调是什么进制的)。

二、16进制转为2进制

三、2进制转换为10进制数

各位二进制数码乘以与其对应的权之和即为与该二进制数对应的十进制数:例如

1011100.10111B = 2^6+2^4+2^3+2^2+2^-1+2^-3+2^-4+2^-5 = 92.71875D。

四、10进制转换为2进制

把要转换的十进制数的整数部分不断除以2,并计下余数,直到商为0为止,例如:

整数N=117D。

对于被转换的十进制数的小数部分则应不断乘以2,并计下其整数部分,直到结果的小数部分为0为止。

五、16进制数转换为10进制数

各位十六进制数与其对应权值的乘积之和即为相应的十进制数,例如:

N=BF3CH=1116^3+1516^2+316^1+1216^0=48956D。

1、可以先转换为2进制再转换为16进制。

2、除法:把要转换的十进制数的整数部分不断除以16,并记下余数,直到商为0为止:例如:

N=48956D。

原码,补码,反码。

原码:位表示符号(正数用0,负数用1),其它位表示数值位,称为有符号数的原码表示法。反码:正数的反码与原码相同,符号位用0表示,数值位值不变。负数的反码符号位用1表示,数值位为原码数值为按位取反形成,即0变1,1变0,例如:N=45=00101101B,N反码=00101101B。

补码:正数的补码与原码相同,即符号位用0表示,数值位值不变。负数的补码为反码加1形成,例如:N=45=00101101B,N补码=00101101B。

例如:11000111=-57计算方式:位为1,先加负号,接着取反码+1=00111001=57。

在这个例子当中,25 的原码:00011001 -25的补码为:11100111。

32 的原码:00100000 -32的补码为:11100000。即-25等于25的反码+1。

最终的结果为 11000111即-57,将其反码加1之后转化为十进制为57(验证了结果的正确性)。

在这里11000111最前面应该还有个1,在这里系统将其抛弃了(但不是抛弃,这里的进位被PSW寄存器里记录了,去掉他并不影响结果)。

补码的表数范围

N位二进制数能够表示的 无符号整数范围:0 ~ 2^n - 1。

N位二进制数能够表示的 有符号整数范围:-2^(n-1) ~ 2^(n-1) - 1。

如8位:-128~127 (因为位0,1表示正负,其余7位才表示数值,2^7-1)。

二进制转十进制

八进制的:1把16进制数中每一位用4为二进制数来表示(不足四位用0补充),即可得到相对应的二进制数,同上(在1,2,4,8中),A=2+8,所以二进制数中从右到左第2位和第四位是1,即1010。9=1+8,所以在二进制数从右到左位和第四位是1,即1001。234567

机器byte a = 27;// 转换成int为 00000000 00000000 00000000 00011011数,补码表示(负数补码对应正数原码(包括符号位)取反加1)

10:0000000000000000 00000000 00001010

反:1111111111111111 11111111 11110101

这个值是-11的补码

-10补码:1111111111111111 11111111 11110101+1

=1111111111111111 11111111 11110110

8位二进制原码11111111用十进制表示是-2的7次方+1为什么 写下计算过程

计算11111111转换为十进制数:无符号:2^8-1=255,有符号:位是1,先确定是负数,加上确定是负数,最终结果为-1,所以无符号时为255,有符号时为-1。

11若对char,byte或者short进行移位处理,那么在移位进行之前,它们会自动转换成一个int。只有右侧的5个低位才会用到。这样可防止我们在一个int数里移动不切实际的位数。若对一个long值进行处理,得到的结果也是long。此时只会用到右侧的6个低位,防止移动超过long值里现成的位数。但在进行“无符号”右移位时,也可能遇到一个问题。若对byte或 short值进行右移位运算,得到的可能不是正确的结果(Ja 1.0和Ja 1.1特别突出)。它们会自动转换成int类型,并进行右移位。但“零扩展”不会发生,所以在那些情况下会得到-1的结果。111111原码的位是符号,是1,代表是负数,

这个数相当于

0000 0000 0000 0000 0110 0100 -1111111

1111111=2的7次方-1

-1111111 也就是-2的7次方+1

也即的由来

请问 计算机一个字节可存0——255之间的整数,这句话怎么理解?那1000字节呢?请说明基本原理及其作方法

T(太)字节 1T=1024G

就像说十进制数一样。比如说两位十进制数,最多可以表示多少个数?00-99,100个,也就是10的平方。

在二进制里,这个问题可以描述为8位二1.什么是二进制进制数最多可以表面对这么长的数进行思考或作,没有人会喜欢。因此,用16进制或8进制可以解决这个问题。因为,进制越大,数的表达长度也就越短。示多少个数?2的8次方。

压缩BCD码11111111表示的十进制是多少?

反码是相互的,所以也可称:

不能用BCD码11111111来表示十进制数,因为用BCD码来表示十进制数的范围是0000到1001!

如果二进制数是连续n个1的话,转换成十进制数,就是(2^n)-1。例如(11111111)2=(2^8)-1=255。

(1111,1111)bcd=(1515)d,即表示十6拆分成 0110进制的1515