龙空技术网

计算机系统-3-1 进制

两块肥肉2022 68

前言:

目前我们对“计算整数的非负整数次幂c语言”大概比较讲究,咱们都需要学习一些“计算整数的非负整数次幂c语言”的相关知识。那么小编同时在网络上搜集了一些有关“计算整数的非负整数次幂c语言””的相关知识,希望大家能喜欢,咱们一起来学习一下吧!

高级语言代码基本用十进制,位运算使用二进制,但是汇编代码都是十六进制,硬件上都是二进制(电压是否满足范围、电容是否带电荷,实现简单)。

信息选择无符号整数、补码表示的有符号整数、浮点数。

计算机表示法是有限数量的位对一个数字编码,超过则会溢出。例如500*400*300*200=-88490188,结果是负的。

gcc编译有提示移除告警,打印结果是负的

溢出告警

浮点不会出现负的,浮点数不支持数学上结合律。浮点和整数的区别,整数范围小而精确,浮点大而近似。

对于数字表示和运算有助于理解汇编代码,本章后继的基础。

C++和C的数字表示和运算是相同的(采用ISO C90,同时包含c99),但是Java更加精确。

GCC编译指定C语言版本

1.1 信息存储和进制转换

大部分计算使用8bit即1byte字节作为最小单位,而不是最细到bit。每个字节都有单独的地址,实际上是虚拟地址空间的抽象,屏蔽RAM、磁盘存储器和外设。

一个字节,二进制表达的范围0000 0000 ~ 1111 1111, 十进制0~255,但是和其他进制转换步骤繁琐,十六进制00~FF。

十六进制转二进制,每位直接查表,不足4位前补0.

16进制转2进制

例如:

二进制转16进制,先4位一组,直接查表转换。最左边一组不满4位,可以前补0.

二进制转16进制

十进制转换成十六进制,需要除法(一直除以16得到余数)。十六进制转10进制,需要每个16进制数字乘以16^N。

注:特殊情况下快速转换

对于2的非负整数次幂(10进制),例如x=2^n, 则对应2进制是1后面跟n个0,再分组转16进制。例如64对应2进制是100,0000,则对应4,0,即0x40

16进制加法,例如

0x 503C

+ 0x 8

= 0x 5044

C+8=C+4+4=F+4, 当前位4,下一位进1,即3+1=4

0x 503C

+ 0x 40

= 0x 4FFC

C-0=C

3-4=(16+3-4)=15,即F

0-1=(16+0-1)=15,即F

5-1=4

3D25H - 05C3H = 3762H

3D25

-05C3

5-3=2

2-C=2-12 = (16+2-12) = 6 (由于2-12不够减,所以向前借1 即16)

D-5=(13-1-5) = 7(13-1是因为2-12不够而被借走了一位)

3-0=3

结果为:3762H

标签: #计算整数的非负整数次幂c语言