前言:
目前我们对“计算整数的非负整数次幂c语言”大概比较讲究,咱们都需要学习一些“计算整数的非负整数次幂c语言”的相关知识。那么小编同时在网络上搜集了一些有关“计算整数的非负整数次幂c语言””的相关知识,希望大家能喜欢,咱们一起来学习一下吧!高级语言代码基本用十进制,位运算使用二进制,但是汇编代码都是十六进制,硬件上都是二进制(电压是否满足范围、电容是否带电荷,实现简单)。
信息选择无符号整数、补码表示的有符号整数、浮点数。
计算机表示法是有限数量的位对一个数字编码,超过则会溢出。例如500*400*300*200=-88490188,结果是负的。
gcc编译有提示移除告警,打印结果是负的
浮点不会出现负的,浮点数不支持数学上结合律。浮点和整数的区别,整数范围小而精确,浮点大而近似。
对于数字表示和运算有助于理解汇编代码,本章后继的基础。
C++和C的数字表示和运算是相同的(采用ISO C90,同时包含c99),但是Java更加精确。
1.1 信息存储和进制转换
大部分计算使用8bit即1byte字节作为最小单位,而不是最细到bit。每个字节都有单独的地址,实际上是虚拟地址空间的抽象,屏蔽RAM、磁盘存储器和外设。
一个字节,二进制表达的范围0000 0000 ~ 1111 1111, 十进制0~255,但是和其他进制转换步骤繁琐,十六进制00~FF。
十六进制转二进制,每位直接查表,不足4位前补0.
例如:
二进制转16进制,先4位一组,直接查表转换。最左边一组不满4位,可以前补0.
十进制转换成十六进制,需要除法(一直除以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语言