您的位置:

c语言2进制8进制16进制,2进制8进制10进制16进制符号

本文目录一览:

C语言,二进制,八进制,十六进制的问题

长度为1个字节的二进制的整数,若采用补码表示,且由4个“1”和4个“0”组成,则可表示的最小整数为___

____。

A.-127

B.-121

C.-15

D.-7

答:

搞不清,就挨个算算:

-127的补码是:1000

0001

-121的补码是:1000

0111

-15的补码是:1111

0001

-7的补码是:1111

1001

只有-121的补码是由4个“1”和4个“0”组成,答案选

B.-121。

-----------------------------------

在计算机科学中,常常会遇到用二进制、八进制、十六进制等表示的数据。对于算术表达式1023-377Q+100H,其运算结果是____

_____。

A.1024

B.

746H

C.

746Q

D.

1023

答:Q是8进制的标记,H是16进制的标记。

1023-377Q+100H,换算成十进制,就是:

1023

-255+256

=

1024

答案应选

A.1024。

C语言中的二进制,八进制,十进制,十六进制是什么,还有,数组,

进制是一种计数系统,进位的制度,规则。

我们从小学习以及日常使用的是10进制系统,原始社会没有数学概念时都是用石头计数,比如去采果子,采到多少就用多少小石头对应,因为老祖宗根本不知道1234567890这些符号可以代替石头。

用实物计数是很麻烦,后来人类进步了逐渐有了数的概念也有了文字,从而产生了数学符号(文字本身就是个符号),而人们发现用数字符号代替石头计数方便很多,最终演变并统一采用阿拉伯数字作为符号,那就是0123456789。

为什么没有大于9的单独的符号,因为人们觉得0-9等10个够了,因为10个数字很整齐,也许觉得再多就乱了(我猜的),大于9的数字就用2个符号表示,因此各位上满10了,就在前面(左边)写1,原来的位置写0,就构成“10”表示数字10,这就是逢十进一的计数制度,简称十进制。

萝莉啰嗦说了那么多,为的是让你理解其他进制,其实没什么特别,无非就是把“逢十进一”改成“逢n进一”,n就是进制。你当代数代入即可。

比如二进制,就是逢二进一,在二进制中因为只需要2个符号,所以只需要“0”和“1”就可以了。那么如果要表示大于1的数怎么办,那就是进位,比如2(10)=10(2),括号里面表示进制,也就是(10进制的)2=(2进制的)10。其他进制以此类推。

特别要说明的是16进制中,由于需要16个符号,因此0-9这10个符号不够了,只能问字母借,按照顺序取英文字母序列的头6个字母“ABCDEF”作为16进制中余下的几个符号,分别代表:10、11、12、13、14、15。如此一个16进制数,比如F等于10进制的15。满16就进位成10(16),同样括号内的数字代表进制。

为什么要有这么多的进制?首先因为计算机电路中开闭状态最稳定,不容易受电路里的电涌、电磁波(电磁感应)影响而改变储存在里面的数据(电平状态),电子线路很容易做到将电平锁住在两个极端。因此目前为止计算机普遍采用2进制,也是出于无奈。

当然呈现在你面前的大部分应用程序中的数字全部是10进制的,因为计算机帮你转换了,而作为编程人员,你必须掌握二进制。而8进制、16进制等常用的进制都可以与2进制方便转换,在有些场合比较有用,比如查看内存一个字节,如果按值直接显示一个数,比如一个8位2进制11011101,就会占很大篇幅,不便于显示和描述,而转换成16进制DD就简短的多,方便程序员分析,DD的10进制数为221,你可以用WINDOWS中带的计算器验证。

c语言中的二进制,八进制,十进制,十六进制都怎么算……,可否举例,谢?

先讲一下,二进制与十进制。

以10为例,过程如图。

10进制转化为二进制

10÷2=5....0(余数为0)

5÷2=2....1(余数为1)

2÷2=1....0

1÷2=0....1

然后,非常重要的一步,将余数倒序相加

即:1010

这里特地说明一下,当被除数比除数小时,余数永远为它自己。

如:8÷10 余数为8

二进制转化为十进制

1010

从 右 算起分别对应 :

1 2 4 8

也就是 2的1次方,2次方,3次方

第三步,小数部分怎么计算呢

如10.1

很简单,将0.1乘以2

在乘到整数之前,将结果的整数取出。

如:

0.1x2=0.2.....0

0.2x2=0.4.....0

0.4x2=0.8......0

0.8x2=1.6......1

正序排下来: 0001

至于八进制和十六进制,其实是一样的方法。就是把2换成8。

顺便说一下,如果你是要做开发而不是考试的话可以直接用win系统自带的计算器,选择“程序员” 模式可以直接得到2.8.10.16进制的所有结果。

那位高人能给我讲讲C语言中二进制,八进制,16进制是怎么换算的?谢谢了!!!

二进制转换含小数点部分

十六进制大同小意,把除以二的数改成16就可以了,如果不明白加我百度HI

#include

stdio.h

void

bit(int

a);

void

bit2(double

a);

int

main()

{

double

a;

int

b;

scanf("%lf",a);

b

=

(int)a;

printf("%d",b);

if((a-b)0(a-b)1)

{

bit(b);

bit2(a-b);

}

else

bit(b);

}

void

bit(int

a)

{

if(a0)

bit(a/2);

printf("%d",a%2);

}

void

bit2(double

a)

{

static

int

c

=

0;

if(c==0)

printf(".");

printf("%d",(a*21)?(int)(a*2):0);

if(a==0||c5)

{

++c;

bit2(a*2-(int)(a*2));

}

}