C语言之进制之间的转换

 我来答
户如乐9318
2022-06-27 · TA获得超过6650个赞
知道小有建树答主
回答量:2559
采纳率:100%
帮助的人:138万
展开全部

计算机中一般是二进制、八进制、十进制和十六进制之间的相互转换,主要是围绕 二进制 进行转换,也就是说 二进制 是核心。

[图片上传失败...(image-9e6904-1533226303616)]

第一:间接法—把十进制转成二进制,然后再由二进制转成八进制或者十六进制。这里不再做图片用法解释。

第二:直接法—把十进制转八进制或者十六进制按照除8或者16取余,直到商为0为止。

方法为:把八进制、十六进制数按权展开、相加即得十进制数。

第一种:他们之间的转换可以先转成二进制然后再相互转换。

第二种:他们之间的转换可以先转成十进制然后再相互转换。

数据在内存中存储的时候都是以 二进制 的形式存储的.int num = 10; 原码、反码、补码都是二进制.只不过是二进制的不同的表现形式.数据是以 补码 的二进制存储的.

1个int类型的变量.在32位编译器内存中占据4个字节(这里不单独讨论int类型的具体的字节数,若不明白看下面的拓展资料)

00000000 00000000 00000000 00000000

如果最高为是0 那么表示这个数是1个正数
如果最高为是1 那么表示这个数是1个负数

最高位表示符号位. 剩下的位数.是这个数的绝对值的二进制.

绝对值: 正数的绝对值是自己,负数的绝对值去掉负号.

正数的反码就是其原码.负数的反码就是在其原码的基础之上 符号位不变,其他位取反.

正数的补码就是其原码.负数的补码就是在其反码的基础之上+1

任何数据都是以其 二进制的补码 形式存储在内存中的

计算机中只有加法没有减法.为了更加低成本的计算出结果,所以使用补码来存储数据.

3 - 2; 这个减法运算对于计算机而言它的理解是 3 + (-2);

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式